使用stream.pipeline
时,是否需要“关闭”或“销毁”这些流中的任何一个?
文档显示了以下简单示例:
pipeline(
fs.createReadStream('archive.tar'),
zlib.createGzip(),
fs.createWriteStream('archive.tar.gz'),
(err) => {
if (err) {
console.error('Pipeline failed.', err);
} else {
console.log('Pipeline succeeded.');
}
}
);
,但接着说:
stream.pipeline()
在调用回调后将悬垂的事件侦听器留在流上。如果发生故障后重用流,则可能导致事件侦听器泄漏和误吞的错误。