Как работает await
Python
Middle
Без компании
Как работает await
Ответы
`await` приостанавливает выполнение корутины до завершения ожидаемой операции, передавая управление обратно в event loop. Это позволяет выполнять другие задачи, пока текущая ждёт I/O или другого асинхронного результата.
Ключевые моменты:
- Работает только внутри асинхронных функций (`async def`)
- Не блокирует поток, event loop продолжает работать
- Возвращает результат выполнения awaitable-объекта (корутины, Future, Task)
Пример:
```
import asyncio
async def fetch_data():
print("Начало загрузки")
await asyncio.sleep(2) # Имитация долгой операции
print("Данные загружены")
return "data"
async def main():
result = await fetch_data()
print(f"Получены: {result}")
asyncio.run(main())
```
Вывод:
```
Начало загрузки
(2 секунды ожидания)
Данные загружены
Получены: data
```