関数の概要
stream.pipelineとは、Node.jsで提供されている関数の一つです。この関数は、複数のストリームをパイプラインとしてつないでデータの流れを制御するために使用されます。主な目的は、ストリーム間でデータを受け渡す際にエラーハンドリングや流れの制御を簡単に行うことができる点です。
パラメータの説明
引数 | 型 | 用途 |
---|---|---|
streams | Array | パイプラインに結合するストリームの配列 |
callback | Function | パイプラインが完了した際に呼び出されるコールバック関数 |
戻り値
stream.pipelineの戻り値はありません。非同期的にストリームをパイプラインに接続し、完了後にコールバック関数を呼び出す仕組みです。
使用例
例1:
const fs = require('fs');
const { pipeline } = require('stream');
pipeline(
fs.createReadStream('input.txt'),
fs.createWriteStream('output.txt'),
(err) => {
if (err) {
console.error('Pipeline failed.', err);
} else {
console.log('Pipeline succeeded.');
}
}
);
例2:
const { pipeline, PassThrough } = require('stream');
const pass = new PassThrough();
pipeline(
pass,
process.stdout,
(err) => {
if (err) {
console.error('Pipeline failed.', err);
}
}
);
pass.write('Data flowing through pass');
pass.end();
関連する関数
- stream.Readable.pipe(): ストリーム間でデータをパイプする際に使用
- stream.Transform: データの変換を行うためのストリーム
まとめ
stream.pipelineは、Node.jsでストリームを扱う際に便利な関数で、ストリーム間のデータの流れを簡単に制御できる点が特徴です。エラーハンドリングも容易に行えるため、安全かつ効率的なストリーム処理を実現することができます。