-->

如何对待一饮而尽)的,则承诺(?(How does gulp treat the Promise o

2019-10-28 14:22发布

我一直在使用一饮而尽作为构建工具一个奇怪的行为。 我从另一个问题,这是指清理另一个运行之前建立的文件下面的代码:

function clean() {
    var delResult = del(['build/**/*', 'dist/**/*']);
    return delResult.then(del(['build', 'dist']));
}

gulp.task('clean', clean);

然后,我有我的默认的任务,其中包括在构建其余部分的清洁任务:

gulp.task('default', gulp.series('clean', gulp.parallel('doJsStuff, doCssStuff', 'doEvenMoreStuff'));

问题是,大口已经与构建持续两个德尔 - 操作完成之前。 据我了解then会返回一个承诺,当承诺履行被一饮而尽应该继续。 当然, then -promise不能得到之前,首先满足del -promise一样。 所以我想它应该按预期工作,但没有。
该行为是在大口3和4是相同的。

我知道我可以用做同样的东西只有一个del -call:

function clean() {
    return del(['build/**', 'dist/**']);
}

实际工作,是我的问题的解决方案。 不过我想明白了,为什么链接承诺不工作。 谁能告诉我?

文章来源: How does gulp treat the Promise of a then()?