我在gulp任务中有一组可写流。我想合并它们并返回一个流。我正在使用merge-stream节点模块来执行此操作。我收到了以下错误。
[14:22:56] Error: Cannot pipe, not readable
at WriteStream.Writable.pipe (_stream_writable.js:161:22)
at add (C:\workspace\mediafly-viewer\desktop\node_modules\merge-stream\index.js:28:12)
at Array.forEach (native)
是否支持合并可写流?如果是这样,我该怎么做呢?
这是我尝试过的承诺。
const promises = streams.map(s => new Promise((resolve, reject) => s.on('finish', resolve).on('error', reject)));
return Promise.all(promises);
答案 0 :(得分:1)
问题是merge-stream
将每个流视为Transform stream,即它在可写流上尝试call pipe
,但是可写流没有Transform streams 1}}方法,仅pipe
。您可以采取的措施是使用finish
进行写入,或者使用Promise等待{{3}}事件。