报错1:
Event loop is closed !
或者打断点调试查看loop的值为:
<_WindowsSelectorEventLoop running=False closed=True debug=False>
解决参考:https://xbuba.com/questions/51894809
解决:
代码:
# Windows平台loop = asyncio.get_event_loop()将创建一个_WindowsSelectorEventLoop对象。
# 运行默认值为True。所以你应该删除“loop.run_until_complete(some_task())”
# 如果你在linux平台上运行,你将得到一个_UnixSelectorEventLoop对象。
# < _UnixSelectorEventLoop running=False closed=False debug=False > 那没关系。
self.loop = asyncio.get_event_loop()
if platform.system() == 'Linux' or platform.system() == 'Darwin':
self.loop.run_until_complete(self.handle_main(data))
else:
self.handle_main(data)
# self.redis_close()
MR.zhou 解决方案:
def 为同步函数,async 为异步函数,同步函数里面调用异步函数应该注意: