Sobes.tech
Middle
29

res = asyncio.sleep(1) болсақ, await қолданбасақ, оны осылай шақыруға бола ма?

Сұралған компаниялар
Saber Interactive

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())