Request.clone()
clone() は Request インターフェイスのメソッドで、現在の Request オブジェクトのコピーを生成します。
基礎となる ReadableStream.tee API と同様に、複製された Response の body は 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