【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)
戻り値なし
戻り値はありません