下面,当我收到股票更新时,我尝试用流进行响应。
+页面.server.js:
import YahooFinanceTicker from "yahoo-finance-ticker";
const ticker = new YahooFinanceTicker();
const tickerListener = await ticker.subscribe(["BTC-USD"])
const stream = new ReadableStream({
start(controller) {
tickerListener.on("ticker", (ticker) => {
console.log(ticker.price);
controller.enqueue(ticker.price);
});
}
});
export async function load() {
return response????
};
Run Code Online (Sandbox Code Playgroud)
注意:YahooFinanceTicker 无法在浏览器中运行。
如何在 Sveltekit 加载函数中处理/设置响应。
我是Python 3.5 asyncio的新手.
在下面的代码中,asyncio.wait()不等待stop_future完成:
import asyncio
import datetime
from concurrent.futures import FIRST_COMPLETED
def stop(): # callback after 12 seconds
print('stop', datetime.datetime.now())
stop_future.set_result('Done!')
async def display_dt():
while not stop_future.done():
print('dt-1', datetime.datetime.now())
# sleep 5 seconds or stop_future done
asyncio.wait([await asyncio.sleep(5), stop_future], return_when=FIRST_COMPLETED)
print('dt-2', datetime.datetime.now())
task = asyncio.Task.current_task()
task.cancel()
print(stop_future.result())
loop = asyncio.get_event_loop()
stop_future = asyncio.Future()
loop.call_later(12, stop)
loop.run_until_complete(display_dt())
loop.close()
Run Code Online (Sandbox Code Playgroud)
结果:
dt-1 2015-11-08 00:49:37.324582
dt-2 2015-11-08 00:49:42.325503
dt-1 2015-11-08 00:49:42.325503
dt-2 2015-11-08 00:49:47.326423
dt-1 2015-11-08 00:49:47.326423
stop 2015-11-08 00:49:49.327192 # async.wait stop_future …Run Code Online (Sandbox Code Playgroud) 当我迭代动态组件时,例如:
<svelte:component collection={collection} uid={uid} this={upload_component}
bind:action={restart}/>
Run Code Online (Sandbox Code Playgroud)
是否可以为每个组件使用一组动态道具。每个组件都有自己的一组 prop 名称和 prop 值。
解决方案示例:
<script>
import Info from './Info.svelte';
const pkgs = [{
name: 'svelte',
version: 3,
speed: 'blazing',
website: 'https://svelte.dev'
}, ];
</script>
<Info {...pkgs[0]}/>
Run Code Online (Sandbox Code Playgroud)
更多内容请参见Rich Harris 的回答。
我有这个代码:
class X(object):
x = 10
def test_x(self):
return self.x
class Y(X):
def test_y(self):
return self.x
y = Y()
y.test_y() # works fine
Run Code Online (Sandbox Code Playgroud)
但是当我使用类型构造基于X的新对象z时:
z = type('Z', (X,), dict(z=1))
z.x # works fine
z.test_x() # gives a TypeError :
Run Code Online (Sandbox Code Playgroud)
必须使用Z实例作为第一个参数调用未绑定方法test_x()(没有任何内容).我该怎么解决呢
UPDATE
在Martijn的帮助和理解下,我就是这样解决的:
z = type('Z', (X,), dict(z=1))()
z.test_x()
Run Code Online (Sandbox Code Playgroud) 我创建了一个实用程序来交换或压缩所有实体.但是,如何确定使用的model_class是db.Model还是ndb.Model?
def _encode_entity(self, entity):
if self.ndb :
entity_dict = entity.to_dict()
self.entity_eid = entity.key.id()
entity_dict['NDB'] = True
else :
entity_dict = db.to_dict(entity)
self.entity_eid = entity.key().name()
entity_dict['NDB'] = False
....
Run Code Online (Sandbox Code Playgroud)
现在我使用:
def queryKind(self):
try :
self.query = self.model_class.query()
self.ndb = True
except AttributeError :
self.query = self.model_class.all()
self.ndb = False
return self.make(self._encode_entity) # make a zip or a page
Run Code Online (Sandbox Code Playgroud)
更新:我使用的解决方案.另见Guido的答案
self.kind = 'Greeting'
module = __import__('models', globals(), locals(), [self.kind], -1)
self.model_class = getattr(module, self.kind)
entity = self.model_class()
if isinstance(entity, …Run Code Online (Sandbox Code Playgroud) 在SSL页面中使用SSL iframe是否安全.SSL框架包含一个表单.
python ×2
svelte ×2
event-loop ×1
future ×1
iframe ×1
python-2.7 ×1
python-3.5 ×1
security ×1
ssl ×1
stream ×1
sveltekit ×1