我想知道多个函数是否可以使用node.js中的单个流。如果是,这怎么办?是否可以管道到多个目的地?
我想在两个不同的并行函数中使用流。我正在使用异步模块进行并行流程。那么可以说在每个函数中发出pipe()语句吗?
提前致谢。
我想知道多个函数是否可以使用node.js中的单个流。如果是,这怎么办?是否可以管道到多个目的地?
我想在两个不同的并行函数中使用流。我正在使用异步模块进行并行流程。那么可以说在每个函数中发出pipe()语句吗?
提前致谢。
是,这是可能的,简单的和常见的。以下是从单个源到多个源的管道数据流。它向您展示了一个匿名回调函数,该函数放置在包含执行实际写入工作的写入函数流的事件循环中:
var fs = require('fs');
var rs1 = fs.createReadStream ('input1.txt');
var ws1 = fs.createWriteStream('output1.txt');
var ws2 = fs.createWriteStream('output2.txt');
rs1.on('data', function (data) {
console.log(data.toString('utf8'));
ws1.write('1: ' + data);
ws2.write('2: ' + data);
});
一种更简单的方法是使用 .pipe()
功能。
var fs = require('fs');
var rs1 = fs.createReadStream ('input1.txt');
var ws1 = fs.createWriteStream('output1.txt');
var ws2 = fs.createWriteStream('output2.txt');
rs1.pipe(ws1);
rs1.pipe(ws2);
该 .pipe()
允许你做管道操作的管道链接等漂亮的东西,非常类似于unix概念之类的东西 du . | sort -rn | less
您可以在哪里使用多个管道来处理。