我想用python编写字典,就像下面的node.js代码一样:
babel
上面执行两个并行的任务,并返回包含带有'html'和'data'的键的结果到标志。
我想在pytnon中做同样的事情,但是我不知道如何通过asyncio做到这一点,请参见以下代码:
@babel/preset-typescript
提前谢谢! :)
答案 0 :(得分:2)
首先,您应将await
与asyncio.sleep()
一起使用。
您可以使用以下功能-向this gist的作者致谢:
async def gather_dict(tasks: dict):
async def mark(key, coro):
return key, await coro
return {
key: result
for key, result in await gather(
*(mark(key, coro) for key, coro in tasks.items())
)
}
async def main():
result = await gather_dict({'html': get_html(), 'data': get_data()})
print(result)
这将并行执行两个协程并打印:{'html': 'html codes...', 'data': [{'id': 1, 'name': 'Jay'}, {'id': 2, 'name': 'Jonh'}]}