Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】ReadableByteStreamController::ReadableByteStreamController()関数の使い方

ReadableByteStreamController関数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

ReadableByteStreamController関数は、Web Streams APIの一部としてNode.js 24で提供される、読み取り可能なバイトストリームの内部状態を制御するための機能を提供する関数です。この関数が利用されることで、特に低レベルなバイトデータを取り扱うストリームの挙動を詳細に制御するオブジェクトが扱えるようになります。

システムエンジニアがカスタムのReadableStreamを実装する際、このコントローラ機能を通じて、データをストリームに効率的に追加(エンキュー)したり、ストリームにエラーが発生したことを通知したり、データの供給が完了した際にストリームを閉じたりすることが可能になります。例えば、ファイルからの読み込みやネットワークからのデータ受信など、生のバイトデータを直接扱う必要がある場面で、その真価を発揮します。

これにより、開発者は柔軟にデータソースからデータを引き出し、パイプライン処理の要件に合わせてストリームのライフサイクルを細かく管理できるようになります。特に、既存のバッファを再利用するような効率的なデータ管理を行う際に、その強力な機能が活用されます。

構文(syntax)

1const readableStream = new ReadableStream({
2  type: 'bytes',
3  start(controller) {
4    // バイトデータをストリームにエンキューします。
5    controller.enqueue(new Uint8Array([72, 101, 108, 108, 111])); // "Hello"
6
7    // ストリームがさらにデータを受け入れ可能か確認するためのサイズを参照します。
8    const currentDesiredSize = controller.desiredSize;
9
10    // 全てのデータのエンキューが完了したら、ストリームを閉じます。
11    controller.close();
12
13    // ストリームにエラーを報告します(必要に応じて)。
14    // controller.error(new Error('Data generation failed.'));
15  }
16});

引数(parameters)

stream, underlyingByteSource, highWaterMark, pullAlgorithm, cancelAlgorithm, startAlgorithm

  • stream: ReadablestreanControllerに紐づけるReadableStream
  • underlyingByteSource: バイトソースの定義
  • highWaterMark: 内部バッファの最大容量
  • pullAlgorithm: ストリームからデータを読み取るためのアルゴリズム
  • cancelAlgorithm: ストリームのキャンセル処理を定義するアルゴリズム
  • startAlgorithm: ストリームの開始時に実行されるアルゴリズム

戻り値(return)

戻り値なし

戻り値はありません

関連コンテンツ