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

问题描述 投票:1回答:1

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

此方法有效。

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

javascript gulp
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.