【发布时间】:2020-04-29 16:22:31
【问题描述】:
我遇到了 asyncIO 问题。我想让我的程序在协程正在运行的任务时做一些事情,协程完成后退出。
我已将我的问题简化为这个 sn-p:
import time
import asyncio
async def long_task():
time.sleep(3)
return "DONE !"
def do_while_idle():
loop = asyncio.get_event_loop()
task = loop.create_task(long_task)
while not task.done():
time.sleep(1)
print("IDLE")
print(task.result())
do_while_idle()
我想要这个输出:
IDLE
IDLE
IDLE
DONE !
提前致谢。
【问题讨论】:
-
不要在异步循环中使用 time.sleep(3)。使用 asyncio.sleep。
标签: python python-3.x async-await python-asyncio