gulp v4函数异步任务未完成执行

时间:2019-11-20 22:29:22

标签: javascript gulp

我正在使用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();
}

文档https://gulpjs.com/docs/en/getting-started/creating-tasks也建议我像上面那样调用done()时,我看到任务已启动,但是实际上并没有完成任务。

但是,当我将其更改为:

export function clean(done) {
  gulp.parallel(clean_server, clean_client)(done);
}

这种方式有效。

所以我的问题是,为什么文档建议的第一种方法不能完成异步任务?

1 个答案:

答案 0 :(得分:0)

因为必须将done作为回调传递给parallel。喜欢您的操作方式或喜欢以下内容

gulp.parallel(done => {
  clean_server()
  clean_client();
  done();
})