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是单线程的,因此“同时”运行的任务实际上是“异步”运行的。