請求:clone() 方法

Baseline 已廣泛支援

此特性已得到良好確立,可跨多種裝置和瀏覽器版本使用。自 2017 年 3 月起,所有瀏覽器均支援此特性。

注意:此功能在 Web Workers 中可用。

Request 介面的 clone() 方法會建立一個當前 Request 物件的副本。

與底層的 ReadableStream.tee API 類似,已克隆 Requestbody 將以兩個 body 中速度更快的消費者的速率發出背壓,未讀取的資料會在較慢的已消耗 body 上在內部排隊,沒有任何限制或背壓。當你從流構建 Request 然後克隆它時要小心。

如果請求體已經被使用過,clone() 會丟擲 TypeError。事實上,clone() 存在的主要原因是允許 body 物件被多次使用(當它們只能使用一次時)。

如果你打算修改請求,可以考慮使用 Request 建構函式。

語法

js
clone()

引數

無。

返回值

一個 Request 物件,它是呼叫 clone()Request 的精確副本。

示例

在下面的程式碼片段中,我們使用 Request() 建構函式建立一個新請求(請求同一目錄下的一個影像檔案),然後克隆該請求。

js
const myRequest = new Request("flowers.jpg");
const newRequest = myRequest.clone(); // a copy of the request is now stored in newRequest

規範

規範
Fetch
# ref-for-dom-request-clone①

瀏覽器相容性

另見