【发布时间】:2022-01-27 18:11:09
【问题描述】:
我需要在异步函数中返回一个值。 我尝试使用同步形式的返回:
import asyncio
async def main():
for i in range(10):
return i
await asyncio.sleep(1)
print(asyncio.run(main()))
输出:
0 [Finished in 204ms]
但它只是返回第一个循环的值,没有被expexted。于是改代码如下:
import asyncio
async def main():
for i in range(10):
yield i
await asyncio.sleep(1)
for _ in main():
print(_)
输出:
TypeError: 'async_generator' object is not iterable
通过使用异步生成器,我遇到了这个错误。如何为每个异步函数循环返回一个值?
谢谢
【问题讨论】:
标签: python-3.x async-await python-asyncio