管道流到变量!?或者 ....?

Piping stream to a variable!? or ....?

将流传输到变量的选项有哪些?基于此documentation可写流的例子包括:

这是否意味着我不能通过管道将流传输到变量来处理它?事实上,我不想将流保存在我的磁盘上,那么通过管道传输所有流并使用该数据的最佳方法是什么?

谢谢,如果您需要更多说明,请告诉我!

您可能可以将流传输到变量,但是 pipe 通常用于将流传输到可以利用流的其他方法,因为 pipe 将所有数据从一个可读流,并将其写入提供的目标,自动管理流,以便目标不会被快速可读流淹没。

例如,通过管道将流传输到文件

someReadableStream.pipe(fs.createWriteStream("result.json"));

如果您只想要变量中的数据,那么有一些事件可能更容易使用,例如 on('data')

var readable = getReadableStreamSomehow(),
    result   = '';

readable.on('data', function(chunk) {
      result += chunk;
});

readable.on('end', function () {
    // do something with "result"
});