如何在管道后写入流?

时间:2016-10-01 07:17:55

标签: javascript node.js stream

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

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

这导致:

  

未捕获的异常错误:写完后

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

1 个答案:

答案 0 :(得分:0)

来自documentation

  

readable.pipe(目的地[,选项])

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

如果您不希望在滚边时结束,请将{end : false}作为选项

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