如何将可写流写入无处?

时间:2015-09-02 17:25:21

标签: javascript node.js stream

我的问题是我的流管道设置如。

readableStream.pipe(transformStream).pipe(writableStream);

我真的不希望可写流在任何地方写入,我只是使用它,以便我的转换流的缓冲区不会被备份。如何将可写流写入空目的地?

2 个答案:

答案 0 :(得分:2)

您可以将其写入/ dev / null,其中包含https://www.npmjs.com/package/dev-null

的npm包

答案 1 :(得分:0)

有很多方法...其中一些会导致节点崩溃并导致您报告的错误吓坏...不要在没有相应阅读器的情况下使用 PassThrough。并且一定要调用回调。

// hellSpawn: 268MiB/s. RSS 298
// write2Null: 262MiB/s. RSS 138
// passThrough: 259MiB/s. RSS 2667
// noCb: 256MiB/s. RSS 2603
// fancy: 256MiB/s. RSS 106

{
      hellSpawn: (childProcess.spawn('sh', ['-c', 'cat > /dev/null'])).stdin,
      write2Null: fs.createWriteStream('/dev/null'),
      passThrough: new PassThrough(),
      noCb: new (class extends Writable {_write = () => {}})(),
      fancy: new  Writable ({write: (a,b,cb) => cb()})()
}