При использовании 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()
оставляет слушатели висячих событий в потоках после вызова обратного вызова. В случае повторного использования потоков после сбоя это может привести к утечкам прослушивателя событий и ошибкам проглатывания.