async-timeout
兼容async的超時的上下文管理器
async-timeout的timeout和asyncio的wiat_for比較
首先從使用上來說
asyncio.wait_for(aw, timeout, *, loop=None)¶
wait_for需要傳入一個awaitable類型的參數,往往用作回調。
而timeout,不需要回調參數不會去創建一個新任務.另外timeout使用的是上下文管理器的形式。
如果僅僅需要給代碼片段加超時邏輯,首選timeout。
async with timeout(1.5) as cm:
await inner()
print(cm.expired)
如果1.5s可以運行完打印true,否則打印false,表示超時。