在Node服务器中,我有一系列的流通过管道连接在一起。举个例子:
streamA.pipe(streamB).pipe(streamC)
最终streamA完成,在这一点上,我想将下行切换到另一个源:
streamD.pipe(streamB).pipe(streamC)
但是当我尝试这样做时,我得到了以下错误:
Error: write after end
如何防止streamA关闭我的下行数据流?或者,如何重新打开我的下行数据流以将其切换到streamD?
另外,我的用例要求我一直等到streamA结束。我不能过早地切换数据流。
发布于 2018-01-24 21:21:47
一直在谷歌上搜索同样的东西,你可以添加
streamA.pipe(streamB, {end: false}).pipe(streamC, {end: false})
发布于 2018-01-04 19:34:08
在我的例子中,我发现如果我在收到‘unpipe()
’事件时结束我的下游,那么上游将没有机会关闭我的下游,一切都是正常的。
streamA.on('end', function() {
downstreams.forEach(downstream => {
streamA.unpipe(downstream);
});
}
如果有更规范的解决方案,请随时张贴。
https://stackoverflow.com/questions/48102141
复制相似问题