Мне нужно обработать несколько страниц данных с сервера. Я хотел бы создать генератор для этого вот так. К сожалению, я получаю TypeError: 'async_generator' object is not iterable
async def get_data():
i = 0
while i < 3:
i += 1
data = await http_call() # call to http-server here
yield data
data = [i for i in get_data()] # inside a loop
Следующий вариант вызывает TypeError: object async_generator can't be used in 'await' expression
data = [i for i in await get_data()] # inside a loop
Используйте async for
вашего понимания. См. PEP 530 - Асинхронное понимание
data = [i async for i in get_data()]
В зависимости от того, какую версию Python вы используете, это может быть доступно только в функциях async def
.
Вы должны использовать функцию eventloop и функцию сбора