试试下面的代码:
import asyncio
async def fun1():
#block
await asyncio.sleep(10)
loop = asyncio.get_event_loop()
count = 0
while count < 10:
count += 1
print(count)
try:
fut = asyncio.ensure_future(asyncio.wait_for(fun1(),1))
loop.run_until_complete(fut)
except:
pass
然后检查由任务asyncio.Task.all_tasks(loop=loop)
。 你会看到,所有取消/完成的任务仍结合的循环。 而不是关闭并得到一个新的循环,我怎么能保证环路,只清除完成/取消的任务?