Body执行者:Response

2018-03-05 11:36 更新

Response

Fetch API 的 Response 接口用于表示对请求的响应。

您可以使用 Response.Response() 构造函数创建一个新的 Response 对象,但您更可能遇到由于另一个 API 操作(例如一个 service worker:Fetchevent.respondWith或简单的 GlobalFetch.fetch() 操作)而返回的 Response 对象。

Response构造函数

Response()
创建一个新的Response对象。

Response属性

Response.headers 只读
包含与响应关联的Headers对象。
Response.ok 只读
包含一个布尔值,说明响应是否成功(状态在200-299范围内)。
Response.redirected 只读
指示响应是否是重定向的结果;也就是说,它的 URL 列表有多个条目。
Response.status 只读
包含响应的状态代码(例如,200表示成功)。
Response.statusText 只读
包含与状态码相对应的状态消息(例如,OK用于 200)。
Response.type 只读
包含响应的类型(例如basiccors)。
Response.url 只读
包含响应的URL。
Response.useFinalURL
包含一个布尔值,说明这是否是响应的最终URL。

使用 Response 实现 Body,所以它也有以下可用的属性:

Body.body 只读
一个简单的 getter,用于暴露ReadableStream正文内容。
Body.bodyUsed 只读
存储一个Boolean声明该身体是否已用于响应中的声明。

Response方法

Response.clone()
创建一个Response对象的克隆。
Response.error()
返回Response与网络错误关联的新对象。
Response.redirect()
使用其他网址创建新的回复。

使用 Response 实现 Body,所以它也有以下方法可用:

Body.arrayBuffer()
采取Response流并阅读完成。它返回一个以“ArrayBuffer” 处理的 promise。
Body.blob()
采取Response流并阅读完成。它返回一个以Blob处理的 promise。
Body.formData()
采取Response流并阅读完成。它返回一个用FormData对象解决的 promise。
Body.json()
采取Response流并阅读完成。它返回一个承诺,将解析正文文本的结果解析为JSON
Body.text()
采取Response流并阅读完成。它返回一个用USVString(文本)来解决的 promise。

Response实例

在我们的基本的 fetch 示例中,我们使用一个简单的 fetch() 调用来获取图像并将其显示在 <img> 标签中。该 fetch() 调用返回一个 promise,它通过与资源获取操作关联的 Response 对象来解决。你会注意到,因为我们正在请求一个图像,我们需要运行 Body.blob(Response 实现 body)来为响应提供正确的 MIME类型。

var myImage = document.querySelector('.my-image');
fetch('flowers.jpg').then(function(response) {
  return response.blob();
}).then(function(blob) {
  var objectURL = URL.createObjectURL(blob);
  myImage.src = objectURL;
});

您也可以使用 Response.Response() 构造函数来创建自己的自定义 Response 对象:

var myResponse = new Response();

规范

规范 状态 注释
Fetch
该规范中'Respone'的定义。
Living Standard
初始定义

浏览器兼容性

电脑端 移动端
Chrome
Edge
Firefox(Gecko)
Internet Explorer
Opera
Safari(WebKit)
Android Webview
Chrome for Android
Edge Mobile Firefox Mobile (Gecko)               Opera Mobile
iOS Safari
基本支持 支持:42 支持 支持:39 不支持 支持:29 支持:10.1 支持:42 支持:42 支持 支持 支持:29 支持:10.1
Response() 构造函数 支持:42 支持:15 支持:39 不支持 支持:29 支持:10.1 支持:42 支持:42 支持 支持 支持:29 支持:10.3
headers 支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持
支持 不支持 不支持 不支持
ok
支持:42 支持 支持:39 不支持
支持:29 不支持 不支持 不支持 不支持 不支持 不支持 不支持
redirected
支持:60 支持
支持:49 不支持
支持:47 不支持 支持:60 支持:60 支持 支持:49 支持:47 不支持
status
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
statusText
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
type
支持:42
支持
支持:39 不支持
支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
url
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持 不支持
支持 不支持
不支持
不支持
useFinalURL
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持
不支持
支持 支持:39 不支持
不支持
clone
支持:42 支持
支持:39 不支持
支持:29 不支持 不支持
不支持
支持 不支持
不支持
不支持
error
支持 支持
不支持
支持 不支持
不支持
不支持
不支持
不支持
不支持
redirect
支持 支持
不支持
支持 不支持 不支持
不支持
不支持
不支持
不支持 
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号