【发布时间】:2016-01-09 12:52:37
【问题描述】:
为什么这不起作用:
try:
async with asyncio.wait_for(aiohttp.get(url), 2) as resp:
print(resp.text())
except asyncio.TimeoutError as e:
pass
给予
async with asyncio.wait_for(aiohttp.get(url), 2) as resp:
AttributeError: __aexit__
据我了解,asyncio.wait_for() 将超越 aiohttp.get() 的未来,后者具有 __aenter__ 和 __aexit__ 方法(async with aiohttp.get() 有效的事实证明了这一点)。
【问题讨论】:
-
在使用
wait_for时应该去掉async。 -
为什么?
asyncio.wait_for是一个协程。但是尽管如此,我还是得到了__exit__的 AttributeError
标签: python-3.x python-asyncio aiohttp