Node.js Gulp:如何从一系列流的承诺中创建流?

Node.js Gulp:如何从一系列流的承诺中创建流?,node.js,gulp,event-stream,Node.js,Gulp,Event Stream,我有一个由异步函数启动的任务列表。我最终得到了一系列流的承诺。我需要把这些溪流合并成一条溪流,然后再把它吞下去。下面是我想到的。有点笨重。有更好的方法吗 return es.readable(function(count, callback) { var dest = this; promise.then(function(streams) { es.merge.apply(null, streams) .on('end', dest.em

我有一个由异步函数启动的任务列表。我最终得到了一系列流的承诺。我需要把这些溪流合并成一条溪流,然后再把它吞下去。下面是我想到的。有点笨重。有更好的方法吗

return es.readable(function(count, callback) {
    var dest = this;
    promise.then(function(streams) {
        es.merge.apply(null, streams)
            .on('end', dest.emit.bind(dest, 'end'))
            .on('data', dest.emit.bind(dest, 'data'))
            .on('error', dest.emit.bind(dest, 'error'));
    });
});

es.merge
返回可读流。
没有理由用
es.readable
再创建一个
我有很长时间没有node.js的经验,但我觉得我写了一些有用的东西:)

用法:

merged(promise, function(err, stream){stream.pipe(anyWritable);}); // async
merged(promise).then(function(stream){stream.pipe(anyWritable);}); // then

es.merge
返回可读流。
没有理由用
es.readable
再创建一个
我有很长时间没有node.js的经验,但我觉得我写了一些有用的东西:)

用法:

merged(promise, function(err, stream){stream.pipe(anyWritable);}); // async
merged(promise).then(function(stream){stream.pipe(anyWritable);}); // then

为什么不
es.merge.apply(null,streams)。pipe(dest)
?@vp_-arth
dest
是一个可读(不可写)的流。为什么不
es.merge.apply(null,streams)。pipe(dest)
?@vp_-arth
dest
是一个可读(不可写)的流。这两个流都不生成流。