为什么需要等待resp.text()?

时间:2019-06-16 02:14:31

标签: python async-await python-asyncio

在下面的Python异步代码示例中,为什么要等待.text()?

async with aiohttp.ClientSession() as session:
    async with session.get('http://httpbin.org/get') as resp:
        return await resp.text()

从响应中获取文本似乎是瞬时的,并且不会阻塞。

2 个答案:

答案 0 :(得分:2)

获取文本需要等待整个响应被下载,对于较大的响应或在较慢的网络上,这可能需要一些时间。

答案 1 :(得分:1)

根据aiohttp的文档,async text()函数将调用async read()函数。这样看来,它在等待返回之前的完整响应。这对于需要一些时间才能返回的大型有效载荷很有用。