python之async-timeout模块

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.5as cm:
    await inner()
print(cm.expired)

如果1.5s可以运行完打印true,否则打印false,表示超时。

posted @ 2019-01-03 20:41  公众号python学习开发  阅读(4846)  评论(0编辑  收藏  举报