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, а продолжить работу, когда задержка закончится.