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

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

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

作成日: 更新日:

基本的な使い方

TransformStreamDefaultController関数は、Web標準のStreams APIにおいて、TransformStreamの変換処理を制御するためのコントローラ機能を提供する関数です。この関数は、TransformStreamを作成する際に指定される変換ロジック(トランスフォーマーオブジェクト)のtransform()メソッドやflush()メソッドの引数として渡され、これらのメソッド内で利用されます。

開発者はこのコントローラを通じて、変換処理中にデータの出力やエラーの報告を行います。具体的には、enqueue()メソッドを用いることで、変換が完了したデータを下流のストリームへ送り出すことができます。これにより、部分的に処理されたデータを効率的にパイプラインに流すことが可能です。また、error()メソッドは、変換処理中に回復不可能なエラーが発生した場合に呼び出すことで、ストリーム全体をエラー状態にし、以降の処理を停止させることができます。

TransformStreamDefaultControllerは、データストリームの変換プロセスにおいて、データの流れを適切に管理し、エラー発生時の挙動を制御するために不可欠な要素です。システムエンジニアがデータ変換ストリームを実装する際に、このコントローラを介してデータを効率的に処理し、堅牢なシステムを構築するための基礎的な機能を提供しています。

構文(syntax)

1new TransformStream({
2  transform(chunk, controller) {
3    // 入力データ (chunk) を変換し、controller.enqueue() を使って出力キューに追加します。
4    // 例: 受け取った Uint8Array を文字列にデコードし、大文字に変換して再度エンコードして出力
5    const decodedText = new TextDecoder().decode(chunk);
6    const transformedText = decodedText.toUpperCase();
7    controller.enqueue(new TextEncoder().encode(transformedText));
8  },
9  flush(controller) {
10    // ストリームの処理が完了したことを示します。
11    // 必要に応じて、ここで最終的なデータをエンキューすることもできます。
12    // controller.terminate() を呼び出すと、変換ストリームの書き込み側が閉じられます。
13    // controller.terminate();
14  }
15});

引数(parameters)

引数なし

引数はありません

戻り値(return)

TransformStreamDefaultController

TransformStreamDefaultControllerは、TransformStreamのデフォルトのコントローラーを表します。このコントローラーは、ストリームの操作を制御するために使用されます。

関連コンテンツ