我想从我的Flask Web应用程序中使用Telethon Telegram API。但是当我运行它时,我得到了以下错误:
RuntimeError:线程“”thread -1“”中没有当前事件循环。“”
我认为asyncio有一些问题。但我对此并不确定。
以下是我的代码
发布于 2018-07-19 03:07:03
基本上,这要归功于Python的GIL。如果您不想深入了解asyncio
的内部原理,那么只需使用pip3 install telethon-sync
即可。
发布于 2021-02-28 05:00:04
这是我在尝试之后学到的。首先,确保你知道asyncio是什么,它真的非常简单。然后你就可以更有效率地工作了。
Telethon使用asyncio,这意味着当你调用阻塞方法时,你必须等到协程结束。
您可以轻松导入asyncio并使用主循环。像这样。
现在,您可以等待协程完成。
创建一个新的异步函数,并将await添加到阻塞方法中。
使用主事件循环执行代码。
这是一个代码示例。
还有一件事。不要使用telethon.sync,它没有完全翻译成同步,它使用上面的模式,它等待所有的方法。
https://stackoverflow.com/questions/51311383
复制相似问题