在Node.js中创建“中间”流的最佳方法是什么?也就是说,一个流只是从另一个流中收集信息并将其通过管道传输出去。
例如,我可能想立即从具有异步流的函数中返回流:
var streamingQuery = function (query) {
var intermediateStream = new IntermediateStream();
database.connect(function (client) {
var queryStream = client.query(query);
queryStream.pipe(intermediateStream);
});
return intermediateStream;
};
我认为
stream.DuplexStream
可能是我需要的,但是我不确定使这种类型的流的最佳方法只是将其所有数据传递给下一个流。或者,也许有一个方便的助手功能可以完成此特定任务,如果需要,我想知道。 最佳答案
我发现stream.PassThrough
是内置的,似乎可以满足我的要求。
var stream = require('stream');
var streamingQuery = function (query) {
var intermediateStream = new stream.PassThrough();
database.connect(function (client) {
var queryStream = client.query(query);
queryStream.pipe(intermediateStream);
});
return intermediateStream;
};
关于javascript - 在Node.js中创建“中间”流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31708756/