Fetch 之 response
1.构造函数
创建一个新的 Response
对象。
2.属性
1.Response.headers
只读 Response
接口的只读属性 headers
包含与响应关联的Headers
对象。
var myHeaders = response.headers;
一个 Headers
对象。
2.Response.ok
只读 Response
接口的只读属性 ok
包含一个布尔值,表明响应是否成功(状态码在200-299范围内).
var myOK = response.ok;
3.Response.redirected
只读
表示该 Response 是否来自一个重定向,如果是的话,它的 URL 列表将会有多个条目。
var isRedirected = Response.redirected;
一个布尔值 (Boolean
), 如果响应来自重定向的请求, 那么将返回 true
.
4.Response.status
只读
包含 Response 的状态码 (例如 200
表示成功)。
let myStatus = response.status;
一个数字(确切来讲是一个unsigned short)
5.Response.statusText
只读
Response
接口的 statusText
只读属性包含与状态代码相对应的状态消息(例如,对于200可以确定)。
let myStatusText = response.statusText;
6.Response.type
只读
包含 Response 的类型(例如,basic
、cors
)。
type
是Response
接口包含的一种响应类型,是只读属性.它可以是以下某一种值:
-
basic
: 标准值, 同源响应, 带有所有的头部信息除了“Set-Cookie” 和 “Set-Cookie2″. -
cors
: Response 接收到一个有效的跨域请求. 部分headers和body可以被访问. -
error
: 网络错误. 没有有用的描述错误的信息。响应的状态为0,header为空且不可变。从Response.error()
中获得的响应的类型. -
opaque
: 响应 “no-cors” 的跨域请求. 严重受限.
var myType = response.type;
7.Response.url
只读
接口的url
只读属性Response
包含响应的URL。该url
属性的值将是任何重定向后获得的最终URL。
var myURL = response.url;
8.Body.body
只读
一个简单的 getter,用于暴露一个 ReadableStream
类型的 body 内容。
9.Body.bodyUsed
只读
包含了一个布尔值
来标示该 Response 是否读取过 Body
。
3.方法
创建一个 Response
对象的克隆。
var response2 = response1.clone();
接口的clone()
方法Response
创建响应对象的克隆,每种方法都相同,但存储在不同的变量中。
clone()
TypeError
如果响应Body
已被使用,则抛出。实际上,clone()
存在的主要原因是允许Body
对象的多次使用(仅当它们一次使用时)。
返回一个绑定了网络错误的新的 Response
对象。
这主要与ServiceWorkers有关;如果您愿意,可以使用error方法返回错误。错误响应的type
设置为error
。
错误” Response
永远不会真正暴露给脚本:对a的这种响应fetch()
将拒绝承诺
var errorResponse = Response.error();
接口的error()
方法Response
返回Response
与网络错误关联的新对象。
3.Response.redirect()
Response
接口的 redirect()
方法返回一个可以重定向到指定 URL 的 Response
。
var response = Response.redirect(url, status);
url
The URL that the new response is to originate from.
status
可选
用于 response 的可选的状态码 (e.g., 302
.)
是一个 Response
对象。
错误类型:
异常类型 | 说明 |
---|---|
RangeError |
status 不是一个重定向的状态码。 |
TypeError |
url 不可用。 |
4.Response
实现了 Body
接口,所以以下方法同样可用:
读取 Response
对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 ArrayBuffer
格式的 Promise 对象。
读取 Response
对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 Blob
格式的 Promise 对象。
读取Response
对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 FormData
格式的 Promise 对象。
读取 Response
对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 JSON
格式的 Promise 对象。
读取 Response
对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 USVString
格式的 Promise 对象。