我需要在异步函数中返回一个值。我尝试使用同步的return形式:
import asyncio
async def main():
for i in range(10):
return i
await asyncio.sleep(1)
print(asyncio.run(main()))
输出:
0 [用了204毫秒]
但它只返回第一个循环的值,这不是我们期望的结果。因此将代码更改如下:
import asyncio
async def main():
for i in range(10):
yield i
await asyncio.sleep(1)
for _ in main():
print(_)
输出:
TypeError: 'async_generator' 对象不可迭代
使用异步生成器时,我遇到了这个错误。如何在异步函数的每次循环中返回一个值?
谢谢