- AJAX 教程
- AJAX - 首页
- AJAX - 什么是 AJAX?
- AJAX - 历史
- AJAX - 动态网站与静态网站
- AJAX - 技术
- AJAX - 操作
- AJAX - XMLHttpRequest
- AJAX - 发送请求
- AJAX - 请求类型
- AJAX - 处理响应
- AJAX - 处理二进制数据
- AJAX - 提交表单
- AJAX - 文件上传
- AJAX - FormData 对象
- AJAX - 发送 POST 请求
- AJAX - 发送 PUT 请求
- AJAX - 发送 JSON 数据
- AJAX - 发送数据对象
- AJAX - 监控进度
- AJAX - 状态码
- AJAX - 应用
- AJAX - 浏览器兼容性
- AJAX - 示例
- AJAX - 浏览器支持
- AJAX - XMLHttpRequest
- AJAX - 数据库操作
- AJAX - 安全性
- AJAX - 问题
- Fetch API 基础
- Fetch API - 基础
- Fetch API 与 XMLHttpRequest 的比较
- Fetch API - 浏览器兼容性
- Fetch API - 头部信息
- Fetch API - 请求
- Fetch API - 响应
- Fetch API - 体数据
- Fetch API - 凭据
- Fetch API - 发送 GET 请求
- Fetch API - 发送 POST 请求
- Fetch API - 发送 PUT 请求
- Fetch API - 发送 JSON 数据
- Fetch API - 发送数据对象
- Fetch API - 自定义请求对象
- Fetch API - 上传文件
- Fetch API - 处理二进制数据
- Fetch API - 状态码
- Stream API 基础
- Stream API - 基础
- Stream API - 可读流
- Stream API - 可写流
- Stream API - 变换流
- Stream API - 请求对象
- 流 API - 响应体
- Stream API - 错误处理
- AJAX 有用资源
- AJAX - 快速指南
- AJAX - 有用资源
- AJAX - 讨论
流 API - 响应体
在 Stream API 中,body 是 Response 接口的一个属性。它用于获取 ReadableStream 的主体内容。这是一个只读属性。响应体不是一次性发送,而是分小块发送,客户端在收到数据后立即开始处理,无需等待完整响应。
语法
Response.body
此属性对于任何使用 null body 属性创建的 Response 对象,返回 ReadableStream 或 null。
示例
在下面的程序中,我们将看到如何在 Stream API 中使用 Response Body。为此,我们使用 fetch() 向给定的 URL 发送 GET 请求。如果响应成功,则使用 response.body.getReader() 获取响应体作为“ReadableStream”。然后我们定义一个 readMyStream() 函数来读取从流中接收的数据块。如果发生任何错误,则 catch() 函数会成功处理。
<script>
// fetch() function to send GET request
fetch('http://example.com/')
.then(response => {
if (response.ok) {
// Using body property we get the ReadableStream
const myReader = response.body.getReader();
// Using this function we read the chunks
function readMyStream() {
return myReader.read().then(({ done, value }) => {
if (done) {
// Stream is completed
return;
}
// Process the data from the chunks
const receivedData = new TextDecoder().decode(value);
console.log(receivedData);
// Continue reading
return readMyStream();
});
}
return readMyStream();
}
})
.catch(error => {
// Handling error
console.log('Found Error:', error);
});
</script>
结论
这就是 Response Body 的工作方式。在使用 Response body 之前,始终检查指定的 API 是否支持流式响应,因为并非所有 API 都支持流式响应。在下一篇文章中,我们将学习 Stream API 中的字节读取器。
广告