このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

ReadableStreamBYOBRequest: respond() メソッド

Baseline 2026
Newly available

Since March 2026, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

respond()ReadableStreamBYOBRequest インターフェイスのメソッドで、 ReadableStreamBYOBRequest.view に指定したバイト数が書き込まれたことを、関連する読み取り可能なバイトストリームに通知するために用いられます。

このメソッドが呼び出された後、 view は移譲され、変更できなくなります。

構文

js
respond(bytesWritten)

引数

bytesWritten

ReadableStreamBYOBRequest.view に書き込まれたバイト数です。

返値

なし (undefined)。

例外

TypeError

リクエストが関連付けられた ReadableByteStreamController を持っていないか、ビューバッファーが切り離されていないか、移譲できません。

下記のコードは読み取り可能なバイトストリームの使用のライブ例から引用しています。

このメソッドは、コンシューマーからの待機中の読み取りリクエストを履行するために、データのゼロコピー移譲を行う一環として、基盤となるバイトソースによって呼び出されます。 基盤となるバイトソースは最初に ReadableStreamBYOBRequest.view にデータを書き込み、次にこの respond() メソッドを呼び出して、バッファーにコピーされたデータの量を示し、データをリーダーに移譲させます。

下記のコードはこの用途を示すもので、データをビューにコピーするために readInto() メソッドを使用しています。

js
const v = controller.byobRequest.view;
bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
controller.byobRequest.respond(bytesRead);

処理後、 byobRequest.view は切り離され、リクエストは破棄されます。

仕様書

Specification
Streams
# ref-for-rs-byob-request-respond①

ブラウザーの互換性

関連情報