Зачем вам нужно ждать resp.text ()? - PullRequest
0 голосов
/ 16 июня 2019

Почему в следующем примере кода для асинхронного Python ожидается .text ()?

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

Кажется, что получение текста из ответа будет мгновенным и не будет блокировать.

Ответы [ 2 ]

2 голосов
/ 16 июня 2019

Чтобы получить текст, нужно дождаться загрузки всего ответа, что может занять много времени для больших ответов или в медленных сетях.

1 голос
/ 16 июня 2019

В соответствии с документацией для aiohttp, функция async text () вызывает функцию async read () .В этом он, кажется, ждет полного ответа, прежде чем вернуться.Это может быть полезно для больших полезных нагрузок, для возврата которых требуется время.

...