Request.clone()

clone()Request インターフェイスのメソッドで、現在の Request オブジェクトのコピーを生成します。

基礎となる ReadableStream.tee API と同様に、複製された Responsebody は 2 つの本体のうち速い方のコンシューマーの速度で背圧を通知し、未読データは制限や背圧なしに遅い方のコンシューマーによる body に内部でキューイングされます。 ストリームから Request を作成し、それを clone するときには注意が必要です。

clone() は、リクエスト本体が既に使用されている場合、 TypeError を発生させます。実際、clone() が存在する主な理由は、(一度しか使用しない場合に)本体オブジェクトを複数回使用することを可能にするためです。

もしリクエストを変更するつもりなら、 Request コンストラクターの方がいいかもしれません。

構文

js
clone()

引数

なし。

返値

clone() が呼び出された Request の正確なコピーである Request オブジェクト。

次のスニペットは、Request.Request() コンストラクタをー使って(スクリプトと同じディレクトリーにある画像ファイルのために)新しいリクエストを生成してから、リクエストをコピーしています。

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

仕様書

Specification
Fetch Standard
# ref-for-dom-request-clone①

ブラウザーの互換性

BCD tables only load in the browser

関連項目