【Node.js24.x】Stream::pipeline()メソッドの使い方
pipelineメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
pipelineメソッドは、複数のNode.jsストリームを連結し、堅牢なデータ処理パイプラインを構築するために実行するメソッドです。これは、データの読み込み、変換、そして書き込みといった一連の処理を安全に接続する役割を持ちます。
従来のstream.pipe()メソッドと異なり、pipelineメソッドは、パイプライン内のいずれかのストリームでエラーが発生した場合に、自動的にエラーを伝播させ、関連するすべてのストリームを適切に終了し、リソースをクリーンアップします。これにより、開発者は複雑なエラーハンドリングやリソース管理について深く心配することなく、安定したデータフローを実装できます。
例えば、ファイルからデータを読み込み、そのデータを加工し、さらに別のファイルに書き出すような一連の処理を、pipelineメソッドを使って簡潔かつ信頼性高く記述することが可能です。システムエンジニアを目指す方にとって、大量のデータや非同期処理を扱う際に、このメソッドはストリーム処理の基本を理解し、安全で効率的なシステムを構築するための重要なツールとなります。
構文(syntax)
1import { pipeline } from 'node:stream'; 2import { createReadStream, createWriteStream } from 'node:fs'; 3import { createGzip } from 'node:zlib'; 4 5pipeline( 6 createReadStream('input.txt'), 7 createGzip(), 8 createWriteStream('output.txt.gz'), 9 (err) => { 10 if (err) { 11 console.error(err); 12 } else { 13 console.log('Pipeline completed.'); 14 } 15 } 16);
引数(parameters)
...streams, callback
- ...streams: 連結するストリームの配列または個別のストリーム
- callback: ストリームのパイプライン処理が完了した際に呼び出される関数
戻り値(return)
Promise または 戻り値なし
pipeline メソッドは、ストリームのパイプライン処理が正常に完了した際に解決される Promise を返します。パイプライン処理中にエラーが発生した場合は、そのエラーで拒否される Promise が返されます。