【问题标题】:How to write to a stream after piping?管道后如何写入流?
【发布时间】:2017-02-09 18:27:24
【问题描述】:

在 NodeJS 中,我使用 ExpressJS(其中 res 是可写流)

const readableStream = someAsyncTask();
readableStream.pipe(res);
readableStrean.on('end', () => {
    res.write('a bit more');
    res.end();
});

这导致:

未捕获的异常错误:结束后写入

所以我假设管道导致可写流关闭。如何将可读流通过管道传输到输出,然后当该流结束时,将其他数据流式传输到输出?

【问题讨论】:

  • 该死的,这很明显,不是吗。你想把它作为答案发布吗?

标签: javascript node.js stream


【解决方案1】:

来自documentation

可读.pipe(destination[, options])

  • destination <stream.Writable>写入数据的目的地
  • 选项 <Object> 管道选项
    end <Boolean> 当读者结束时写者 结束。默认为真。
    ...

如果您不希望它在管道时结束,请将{end : false} 作为选项传递

readableStream.pipe(res, { end: false });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多