如何使gulp流同步

时间:2016-05-10 12:43:24

标签: node.js asynchronous gulp

plugin.js

module.exports = function(holder) {
  return through.obj(function(file, encoding, callback) {
    console.log('2')
    return callback(null, file);
  }
}

任务

gulp.task('t', function() {
  console.log('1');
  var tmp = gulp.src(...).pipe(require('plugin')())
  console.log('3');
  return tmp;
});

控制台结果是:

  

1
      3
      2

但我想要的是:

  

1
      2
      3

我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您不会使流同步。相反,你会听取end event

gulp.task('t', function() {
  console.log('1');
  return gulp.src(...)
   .pipe(require('plugin')())
   .on('end', function() {
      console.log('3');
   });
});