如何让可写流写入任何地方?

问题描述 投票:0回答:3

我的问题是我设置了一个流管道。

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

我真的不希望可写流写入任何地方,我只是使用它,这样我的转换流的缓冲区就不会得到备份。 如何使可写流写入空目的地?

javascript node.js stream
3个回答
7
投票

有很多方法...其中一些会导致节点崩溃并导致节点错误报告器崩溃...为了避免这种情况,不要在没有相应读取器的情况下使用 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()})()
}

3
投票

你可以将其写入 /dev/null,有一个 npm 包https://www.npmjs.com/package/dev-null


0
投票

https://www.npmjs.com/package/dev-null 包不要写入 /dev/null。

© www.soinside.com 2019 - 2024. All rights reserved.