Node.js可读流如何独立复制和使用?

时间:2015-08-14 18:15:22

标签: javascript node.js

有没有办法复制或传播Node.js可读流,以便可以独立于同一来源使用流?

我的用例看起来像这样:

f(inputStream, callback(err, data) {
  // do stuff with data to change how g behaves
  g(inputStream);
});

要求是fg从流的开头开始读取。我通常在这里使用readable.pipe,但g需要在回调中使用。

1 个答案:

答案 0 :(得分:0)

您可以将相同的可读流传递给f和g。他们将从流中独立阅读。

例如: -



var fs = require('fs');
var str = fs.createReadStream('<file location>');


function f(s) {
s.on('data', function (d) {
        console.log(d.toString());
});
s.on('end', function() {
        console.log('ended');
});
}
function g(s) {
s.on('data', function (d) {
        console.log(d.toString());
});
s.on('end', function() {
        console.log('ended');
});
}

g(str);
f(str);
&#13;
&#13;
&#13;