这篇翻译不完整。请帮忙从英语翻译这篇文章

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

 Fetch API 的Response接口呈现了对一次请求的响应数据

你可以使用Response.Response() 构造函数来创建一个Response对象,但一般更可能遇到的情况是,其他的API操作返回了一个Response对象,例如一个service worker 的Fetchevent.respondWith,或者一个简单的 GlobalFetch.fetch()

构造函数

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

属性

Response.type 只读
包含Response的类型 (例如, basic, cors).
Response.url 只读
包含Response的URL.
Response.useFinalURL
包含了一个布尔值来标示这是否是该Response的最终URL.
Response.status 只读
包含Response的状态码 (例如, 200 成功).
Response.ok 只读
包含了一个布尔值来标示该Response成功(状态码200-299) 还是失败.
Response.statusText 只读
包含了与该Response状态码一致的状态信息 (例如, OK对应200).
Response.headers 只读
包含此Response所关联的Headers 对象.

Response 实现了 Body, 所以以下属性同样可用:

Body.bodyUsed 只读
 包含了一个布尔值来标示该Response是否读取过Body.

方法

Response.clone()
创建一个Response对象的克隆
Response.error()
返回一个绑定了网络错误的新的Response对象
Response.redirect()
用另一个URL创建一个新的 response.

Response 实现了 Body, 所以以下方法同样可用:

Body.arrayBuffer()
读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为ArrayBuffer格式的promise对象
Body.blob()
读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为Blob格式的promise对象
Body.formData()
读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为FormData格式的promise对象
Body.json()
读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为JSON格式的promise对象
Body.text()
读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为USVString格式的promise对象
解析完整的 Response ,并返回一个USVString对象的promise

示例

In our basic fetch example (run example live) we use a simple fetch() call to grab an image and display it in an <img> tag. The fetch() call returns a promise, which resolves with the Response object associated with the resource fetch operation. You'll notice that since we are requesting an image, we need to run Body.blob (Response implements body) to give the response its correct MIME type.

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

You can also use the Response.Response() constructor to create your own custom Response object:

var myResponse = new Response();

规范

Specification Status Comment
Fetch
Response
Living Standard Initial definition

浏览器兼容性

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 42
41[1]
39 (39)
34[1]
未实现

29
28[1]

未实现
Feature Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support 未实现 未实现 未实现 未实现 未实现 未实现 未实现

[1] This feature is implemented behind a preference.

相关链接

<link href="chrome-extension://bicdefpoleoohkhgcbbhambpghigfeid/build/index.css" rel="stylesheet"/><fp-div class="ok_quick_add okmemo-expanded" style="left: 20px; top: 2246px;"><fp-span class="okmemo-des">请使用手机"扫一扫"</fp-span><fp-span class="okmemo-close">x</fp-span></fp-div>

文档标签和贡献者

 此页面的贡献者: thbgh, zyq930501, a1528zhang, wynn_pm2b, Sheppy
 最后编辑者: thbgh,