[英]how to converting a for loop with await into asyncio.gather()
如何使用 asyncio.gather 和 map 編寫以下代碼?
for i in range(len(data)):
candlestick = data[i]
candlesticks = data[0: i + 1]
await strategy.execute(candlesticks, candlestick.startTime)
你可以這樣做:
from asyncio import gather, create_task
tasks = []
for i in range(len(data)):
candlestick = data[i]
candlesticks = data[0: i + 1]
tasks.append(create_task(strategy.execute(candlesticks, candlestick.startTime)))
results = await gather(*tasks, return_exceptions=False)
如果你想專門使用map()
,你可以這樣做:
from asyncio import gather, create_task
await gather(
*map(
lambda i: create_task(
strategy.execute(data[0: i + 1], data[i].startTime)
),
range(len(data))
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.