在继续之前,我如何确保异步未来已经启动



我基本上想做这样的事情:

future_started = asyncio.Event()
async def my_future():
future_started.set()
await asyncio.sleep(0)
[...]
async def start_my_future():
"""Starts my_future() and only returns, after my_future() has been started."""
asyncio.ensure_future(my_future())
await future_started.wait()
return

有没有一种更习惯的方式来安排未来,但要确保它已经开始,然后再继续?

编辑:我可能应该补充一点,我运行的是Python 3.6,因为后来对asyncio做了很多更改。

使用asyncio.create_task而不是asyncio.ensure_future将启动它。

最新更新