【发布时间】:2022-01-02 07:01:06
【问题描述】:
我正在尝试学习 Python 中的异步调用,这是我的代码:
class MyClient:
def _init_(self):
async def method(self):
print("xxxxxxx")
还有:
def test_my_client():
@coroutine
def test_async_client():
client = MyClient()
return client.method()
result = IOLoop.run_sync(test_async_client)
print(result)
所以基本上我使用IOLoop.run_sync 来异步调用client.method(),但我永远看不到来自print('xxxxxx') 的痕迹,好像从未触发过client.method()。还有一个警告coroutine client.method was never awaited
如果我print(result),我会看到<coroutine object client.method at >,所以协程对象被返回,并且我理解等待对象被返回并且将被解析或执行? client.method() 被执行了吗?如果是这样,我如何检查对象的内容并查看打印痕迹?
【问题讨论】:
标签: asynchronous tornado coroutine