Back to questions
Middle
5
Что будет res = asyncio.sleep(1) без await, можно ли так вызывать
Companies where asked
Saber Interactive
Answer from AI
sobes.tech AI
Вызов res = asyncio.sleep(1) без await не запускает паузу, а просто возвращает корутину (объект типа coroutine). Эта корутина не будет выполнена, пока вы явно не вызовете await или не запустите её в event loop.
То есть, без await вы не получите задержку, а только объект, который нужно потом запустить. Такой вызов допустим, если вы планируете передать корутину дальше или запустить её позже, но просто так вызвать asyncio.sleep(1) без await — это ошибка логики, так как задержка не произойдёт.
Пример:
import asyncio
async def main():
res = asyncio.sleep(1) # res — корутина, пауза не началась
print(res) # <coroutine object sleep at 0x...>
await res # теперь пауза выполнится
asyncio.run(main())