我正在尝试运行一个简单的 asyncio
我想持续运行的循环,直到按下control+c,这将停止主功能并运行一个关闭循环的功能。我正在使用以下代码:
import asyncio
async def run():
while True:
print("Running")
async def shutdown():
print("Starting to shutdown")
await asyncio.sleep(1)
print("Finished sleeping")
try:
loop = asyncio.get_event_loop()
loop.create_task(run())
loop.run_forever()
except KeyboardInterrupt:
loop.stop()
loop.run_until_complete(asyncio.gather(*[shutdown()]))
当运行此代码并按control+c时,脚本不会像我预期的那样正常关闭(也基于此stackoverflow答案,但我得到以下错误: RuntimeError: Event loop stopped before Future completed.
谁能告诉我哪里出了问题,我应该如何修改代码来解决这个问题?
暂无答案!
目前还没有任何答案,快来回答吧!