Middle
51
Que se passe-t-il si res = asyncio.sleep(1) sans await, peut-on l'appeler ainsi?
Entreprises à qui on a demandé
Saber Interactive
Réponse de l'IA
sobes.tech IA
Вызов 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())