Response方法:clone()

2018-03-12 11:56 更新

clone() 方法

Response 接口的 clone() 方法創(chuàng)建了一個(gè)響應(yīng)對象的克隆,每種方式都是相同的,但存儲(chǔ)在一個(gè)不同的變量中。

如果響應(yīng) Body 已被使用,則 clone() 將拋出一個(gè) TypeError。事實(shí)上,clone() 存在的主要原因是允許 Body 對象的多次使用(當(dāng)它們只是一次性使用時(shí))。

clone() 方法語法

var response2 = response1.clone();

clone() 方法參數(shù)

Response 接口的 clone() 方法沒有參數(shù)。

clone() 方法值

clone() 方法的值為一個(gè) Response 對象。

clone() 方法示例

在我們的 Fetch Response 克隆示例中,我們使用 Request() 構(gòu)造函數(shù)創(chuàng)建一個(gè)新 Request 對象,并將它傳遞給 JPG 路徑。然后我們使用 fetch() 獲取這個(gè)請求。當(dāng) fetch 成功解析時(shí),我們克隆它,使用兩個(gè) Body.blob 調(diào)用從兩個(gè)響應(yīng)中提取 blob,使用 URL.createObjectURL 在 blob 外創(chuàng)建對象 URL,并將它們顯示在兩個(gè)單獨(dú)的 <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;
  });
});

規(guī)范

規(guī)范 狀態(tài) 注釋
Fetch
在該規(guī)范中'clone()'的定義。
Living Standard
初始定義

瀏覽器兼容性

電腦端 移動(dòng)端
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 不支持 不支持 不支持 支持 不支持 不支持 不支持
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號