Response 和 Request 类似,表示的是一次请求返回的响应数据。
构造函数
你可以使用Response
构造函数来创建一个response
实例,但通常情况下,是其他 API 操作后会返回这样一个实例,不需要我们手动构造。
// 手动构造——可以但没必要
const response = new Response()
// fetch 函数返回的 Response 的实例
const request = new Request()
fetch(request)
.then((response) => {
console.log(response) // 这个就是 response
})
实例的属性
下面的response
代表Response
构造函数返回的实例
response.body
一个 ReadableStream 类型的 body 内容
response.bodyUsed
包含了一个布尔值来表示该 Response 是否读取过 Body
response.headers
包含此 Response 所关联的 Headers 对象
response.ok
包含了一个布尔值,标示该 Response 成功(HTTP 状态码的范围在 200-299)
response.redirected
表示该 Response 是否来自一个重定向,如果是的话,它的 URL 列表将会有多个条目。
response.status
response.statusText
response.type
response.url
实例的方法
response.arrayBuffer()
读取 Response 对象并且将它设置为已读,并返回一个被解析为 ArrayBuffer 格式的 Promise 对象。
因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次
response.blob()
读取 Response 对象并且将它设置为已读,返回一个被解析为 Blob 格式的 Promise 对象
因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次
response.formData()
读取 Response 对象并且将它设置为已读,返回一个被解析为 FormData 格式的 Promise 对象
因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次
response.json()
读取 Response 对象并且将它设置为已读,并返回一个被解析为 JSON 格式的 Promise 对象。
因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次
response.text()
读取 Response 对象并且将它设置为已读,并返回一个被解析为 USVString 格式的 Promise 对象。
因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次