欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Fetch 之 response

程序员文章站 2022-07-07 18:37:17
...

1.构造函数

1.Response()

创建一个新的 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 的类型(例如,basiccors)。

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.方法

1.Response.clone()

创建一个 Response 对象的克隆。

var response2 = response1.clone();

接口的clone()方法Response创建响应对象的克隆,每种方法都相同,但存储在不同的变量中。

clone()TypeError如果响应Body已被使用,则抛出。实际上,clone()存在的主要原因是允许Body对象的多次使用(仅当它们一次使用时)。

2.Response.error()

返回一个绑定了网络错误的新的 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 接口,所以以下方法同样可用:

Body.arrayBuffer()

读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 ArrayBuffer 格式的 Promise 对象。

5.Body.blob()

读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 Blob 格式的 Promise 对象。

6.Body.formData()

读取Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 FormData 格式的 Promise 对象。

7.Body.json()

读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 JSON 格式的 Promise 对象。

8.Body.text()

读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 USVString 格式的 Promise 对象。

相关标签: Javascript学习