我正在使用v4 gulp,并将任务转换为函数。我有一个简单的clean函数,可以执行并行任务。
const clean_server = () => del('build/server/*');
const clean_client = () => del('build/client/*');
export function clean(done) {
gulp.parallel(clean_server, clean_client);
done();
}
当我以上面的调用方式调用done()
时(文档https://gulpjs.com/docs/en/getting-started/creating-tasks也建议这样做,我看到任务已启动,但是实际上并没有完成任务。
但是,当我将其更改为:
export function clean(done) {
gulp.parallel(clean_server, clean_client)(done);
}
此方法有效。
所以我的问题是,为什么文档建议的第一种方法不能完成异步任务?
因为必须将done
作为回调传递给parallel
。喜欢您的操作方式或喜欢以下内容
gulp.parallel(done => {
clean_server()
clean_client();
done();
})