1. 開発者向けのウェブ技術
  2. Web API
  3. ReadableByteStreamController
  4. byobRequest

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

View in English Always switch to English

ReadableByteStreamController: byobRequest プロパティ

Baseline 2026
最近利用可能

March 2026以降、この機能は最新のバージョンの端末およびブラウザーで動作します。古い端末やブラウザーでは動作しないことがあります。

byobRequestReadableByteStreamController インターフェイスの読み取り専用プロパティで、現在の BYOB リクエストを返します。保留中のリクエストがない場合は null を返します。

基盤となるバイトソースはこのプロパティを調べ、存在する場合はそれを使用してストリームにデータを書き込む必要があります(ReadableByteStreamController.enqueue()を使用するのではなく)。 こうすることで、コンシューマーへのデータの効率的なゼロバイト移譲が実現します。

ReadableStreamBYOBRequest オブジェクトのインスタンス、または null

読み取り可能なバイトストリームの使用 > 読み取り可能なソケットプッシュバイトストリームの作成の例では、 byobRequest を使用して(データが存在する場合は)データを移譲するか、 ReadableByteStreamController.enqueue() を使用してストリーム内部のキューにデータをコピーする方法を示しています。

関連するコードを下記に示します。 byobRequest が存在すれば、 controller.byobRequest.view にデータが読み込まれ、 ReadableStreamBYOBRequest.respond() が呼び出されて、移譲可能なデータ量を指示します。

js
if (controller.byobRequest) {
 const v = controller.byobRequest.view;
 bytesRead = socket.readInto(v.buffer, v.byteOffset, v.byteLength);
 if (bytesRead === 0) {
 controller.close();
 }
 controller.byobRequest.respond(bytesRead);
} else {
 // Write to data using enqueue().
}

仕様書

仕様書
Streams
# ref-for-rbs-controller-byob-request2

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /