Request: clone() メソッド
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since March 2017.
clone()
は Request
インターフェイスのメソッドで、現在の Request
オブジェクトのコピーを生成します。
基礎となる ReadableStream.tee
API と同様に、複製された Response
の body
は 2 つの本体のうち速い方のコンシューマーの速度で背圧を通知し、未読データは制限や背圧なしに遅い方のコンシューマーによる body
に内部でキューイングされます。
ストリームから Request
を作成し、それを clone
するときには注意が必要です。
clone()
は、リクエスト本体が既に使用されている場合、 TypeError
を発生させます。実際、clone()
が存在する主な理由は、(一度しか使用しない場合に)本体オブジェクトを複数回使用することを可能にするためです。
もしリクエストを変更するつもりなら、 Request
コンストラクターの方がいいかもしれません。
構文
clone()
引数
なし。
返値
clone()
が呼び出された Request
の正確なコピーである Request
オブジェクト。
例
次のスニペットは、Request.Request()
コンストラクターをー使って(スクリプトと同じディレクトリーにある画像ファイルのために)新しいリクエストを生成してから、リクエストをコピーしています。
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