Response方法:clone()

2018-03-12 11:56 更新

clone() 方法

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

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

clone() 方法语法

var response2 = response1.clone();

clone() 方法参数

Response 接口的 clone() 方法没有参数。

clone() 方法值

clone() 方法的值为一个 Response 对象。

clone() 方法示例

在我们的 Fetch Response 克隆示例中,我们使用 Request() 构造函数创建一个新 Request 对象,并将它传递给 JPG 路径。然后我们使用 fetch() 获取这个请求。当 fetch 成功解析时,我们克隆它,使用两个 Body.blob 调用从两个响应中提取 blob,使用 URL.createObjectURL 在 blob 外创建对象 URL,并将它们显示在两个单独的 <img> 元素中。

var image1 = document.querySelector('.img1');
var image2 = document.querySelector('.img2');

var myRequest = new Request('flowers.jpg');

fetch(myRequest).then(function(response) {
  var response2 = response.clone();

  response.blob().then(function(myBlob) {
    var objectURL = URL.createObjectURL(myBlob);
    image1.src = objectURL;
  });

  response2.blob().then(function(myBlob) {
    var objectURL = URL.createObjectURL(myBlob);
    image2.src = objectURL;
  });
});

规范

规范 状态 注释
Fetch
在该规范中'clone()'的定义。
Living Standard
初始定义

浏览器兼容性

电脑端 移动端
Chrome
Edge
Firefox
Internet Explorer
Opera
Safari
Android webview
Chrome for Android
Edge Mobile Firefox for Android
Opera for Android
iOS Safari
基本支持 支持:42 支持 支持:39 不支持 支持:29 不支持 不支持 不支持 支持 不支持 不支持 不支持
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号