Sobes.tech
Back to questions
Junior — Middle
66

Можете объяснить механизм работы ключевого слова await в асинхронной программе?

Answer from AI

sobes.tech AI

Ключевое слово await в Python используется внутри асинхронных функций для приостановки выполнения до тех пор, пока не завершится асинхронная операция (корутина, Future или Task). Это позволяет не блокировать поток и эффективно использовать время ожидания.

Когда интерпретатор встречает await, он:

  • Отдает управление обратно в цикл событий (event loop), позволяя выполнять другие задачи.
  • Ждет завершения асинхронной операции.
  • После завершения продолжает выполнение функции с результата операции.

Пример:

import asyncio

async def fetch_data():
    await asyncio.sleep(1)  # имитация задержки
    return "Данные получены"

async def main():
    result = await fetch_data()
    print(result)

asyncio.run(main())

Здесь await позволяет не блокировать программу во время ожидания sleep, а продолжить работу, когда задержка закончится.