Asynchronous 异步运行多个Gulp任务

Asynchronous 异步运行多个Gulp任务,asynchronous,gulp,taskmanager,Asynchronous,Gulp,Taskmanager,我有一系列的吞咽任务: var tasks = ['task1','task2','task3']; 如果我启动下面的gulp任务,它将同时运行任务数组中的所有任务 gulp.start('mytasks', tasks, function(){}); 有没有办法从任务阵列异步运行我的任务?Gulp是基于承诺的,默认情况下是异步的。 引述该官员的话: 如果其fn执行以下操作之一,则可以使任务异步: 返流 还愿 接受回拨 看看这个模拟上述行为的示例 var gulp = require('

我有一系列的吞咽任务:

var tasks = ['task1','task2','task3'];
如果我启动下面的gulp任务,它将同时运行任务数组中的所有任务

gulp.start('mytasks', tasks, function(){});

有没有办法从任务阵列异步运行我的任务?

Gulp是基于承诺的,默认情况下是异步的。 引述该官员的话:

如果其fn执行以下操作之一,则可以使任务异步:

  • 返流
  • 还愿
  • 接受回拨
看看这个模拟上述行为的示例

var gulp = require('gulp'),
    wait = require('gulp-wait');

var tasks = ["task1","task2","task3"]

gulp.task('mytasks', function() {
  return gulp.src("/dist")
        .pipe(wait(5))
        .pipe(gulp.dest('DESTINATIONPATH'));
});

gulp.task('task1', function() {
  return gulp.src("/dist")
        .pipe(wait(100))
        .pipe(gulp.dest('DESTINATIONPATH'));
});

gulp.task('task2', function() {
  return gulp.src("/dist")
        .pipe(wait(200))
        .pipe(gulp.dest('DESTINATIONPATH'));
});


gulp.task('task3', function() {
  return gulp.src("/dist")
        .pipe(wait(50))
        .pipe(gulp.dest('DESTINATIONPATH'));
});

gulp.task('default', function() {
    gulp.start('mytasks', tasks, function(){});
});

NodeJS是单线程的,因此“同时”运行的任务实际上是“异步”运行的。