流的吞咽序列

时间:2015-07-25 09:10:43

标签: plugins gulp sequence

所以我有一个写入dest的stream1,我有stream2,其中的进程从stream1读取写入的文件。

如何设法按顺序运行它们。

有gulp序列但是我需要在一个任务中按顺序运行流而不是顺序执行任务。

1 个答案:

答案 0 :(得分:1)

行 所以我已经编写了自己的代码来做这件事,欢迎你创建一个插件,并改进它。享受:

var es = require('event-stream');
function sequance(streams){
  var ps = es.pause();
  ps.pause();

  (function runStream(i){
    if(i >= streams.length){
      ps.resume();
      return;
    }
    var stream = streams[i];
    stream = _.isFunction(stream) ? stream() : stream;
    stream.on('end', function(){
      runStream(i + 1);
    });
  })(0);

  return ps;
}