问题在这里:
async def init():
loop = asyncio.get_event_loop()
loop.run_until_complete(main(sessions, message))
async def main(sessions, message):
# some code to execute...
我试图在run_until_complete
中运行函数main(sessions, message)
,但问题是我无法在async
函数中获得coroutine
,因为它抛出了一个错误:RuntimeWarning: coroutine 'main' was never awaited
你能告诉我我应该如何正确地运行这样一个函数吗?
您不需要在协程中使用run_until_complete
。在协程中等待某事完成的方法是等待它。
async def init():
await main(sessions, message)
只管做
import asyncio
async def init():
await main(...)
async def main(sessions, message):
...
loop = asyncio.get_event_loop()
loop.run_until_complete(init())