我不明白为什么需要等待resp.json()
。据我了解,async/await 在处理 I/O 时很有用。但是当我在下面的示例中调用 resp.json(( 时,Web 请求是否尚未使用上面行中的 session.get(( 处理?
async with session.get('https://api.github.com/events') as resp:
print(await resp.json())
但是
当我在下面的示例中调用 resp.json(( 时,Web 请求是否尚未在上面行中使用 session.get(( 进行处理?
不,它只读取HTTP标头,要获取响应正文,您需要读取响应的其余部分。
这非常有用,因为您可以检查HTTP标头并避免在服务器返回错误的HTTP代码时读取响应的其余部分。
另一个示例:如果您预计响应正文很大,则可以按块读取它以避免 RAM 过度使用(在此处查看注释(。