Встречается на собеседованиях • сегодня

В каких ситуациях нужен асинхронный генератор

Асинхронные генераторы полезны, когда нужно обрабатывать данные в цикле, но каждое значение требует асинхронной операции (например, чтение из файла, запрос к API или БД). Они позволяют получать и обрабатывать данные по мере их поступления, не блокируя event loop.

Пример использования:

python
import asyncio

async def async_data_fetcher():
    for i in range(3):
        await asyncio.sleep(1)  # Имитация асинхронной операции
        yield i

async def main():
    async for item in async_data_fetcher():
        print(f"Получено: {item}")

asyncio.run(main())

Основные сценарии:

  1. Постепенная обработка больших данных из асинхронных источников
  2. Потоковая передача данных (например, websockets)
  3. Работа с очередями сообщений
  4. Когда нужно экономить память, обрабатывая данные по частям

Ключевое отличие от обычных генераторов - возможность использовать await внутри yield.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы