Javascript 狼吞虎咽';默认值';任务在不运行回调的情况下完成
我最近从Gulp3升级到了4-我有升级指南,并修改了我的代码以适应,但我仍然有一些奇怪的行为 以下是一个小的可重复案例:Javascript 狼吞虎咽';默认值';任务在不运行回调的情况下完成,javascript,gulp,Javascript,Gulp,我最近从Gulp3升级到了4-我有升级指南,并修改了我的代码以适应,但我仍然有一些奇怪的行为 以下是一个小的可重复案例: gulp.task('do-nothing', function (done) { setTimeout(function () { done() }, 3 * 1000) }) gulp.task("default", gulp.parallel("do-nothing"), function (done) { console.lo
gulp.task('do-nothing', function (done) {
setTimeout(function () {
done()
}, 3 * 1000)
})
gulp.task("default", gulp.parallel("do-nothing"), function (done) {
console.log(`\n\n\nWHY AM I NOT BEING RUN`)
})
运行gulp
时,输出为:
[14:10:57] Using gulpfile ~\Code\certsimple\gulpfile.js
[14:10:57] Starting 'default'...
[14:10:57] Starting 'do-nothing'...
[14:11:00] Finished 'do-nothing' after 3.01 s
[14:11:00] Finished 'default' after 3.02 s
没有为什么我没有被运行打印到控制台
为什么会这样?这应该是有效的
gulp.task('do-nothing', function (done) {
setTimeout(function () {
done()
}, 3 * 1000)
})
gulp.task("default",
gulp.parallel("do-nothing", function (done) {
console.log(`\n\n\nWHY AM I NOT BEING RUN`)
done()
})
);
这应该是有效的
gulp.task('do-nothing', function (done) {
setTimeout(function () {
done()
}, 3 * 1000)
})
gulp.task("default",
gulp.parallel("do-nothing", function (done) {
console.log(`\n\n\nWHY AM I NOT BEING RUN`)
done()
})
);
这就是你要找的,函数是gulp.task的第三个参数,对我来说,它不起作用。类似地,仅以一个任务作为输入的gulp.parallel应该与tast本身相同
这就是你要找的,函数是gulp.task的第三个参数,对我来说,它不起作用。类似地,仅使用一个任务作为输入的gulp.parallel应该与tast本身相同。您有这一行:
gulp.task("default", gulp.parallel("do-nothing"), function (done) {
请注意,它有三个参数:字符串任务名称gulp.parallel()和匿名函数调用。这就是gulp3语法。以下是gulp4任务
函数签名:
task([taskName], taskFunction) // note only **two** arguments.
从
这就是为什么永远无法访问控制台.log
。因此,您只需将匿名函数放入gulp.parallel
参数中即可修复它
gulp.task("default", gulp.parallel("do-nothing", function (done) {
console.log(`\n\n\nWHY AM I NOT BEING RUN`)
}));
另外,由于您使用的是gulp.parallel
,console.log
不会等待什么都不做
完成。您有这一行:
gulp.task("default", gulp.parallel("do-nothing"), function (done) {
请注意,它有三个参数:字符串任务名称gulp.parallel()和匿名函数调用。这就是gulp3语法。以下是gulp4任务
函数签名:
task([taskName], taskFunction) // note only **two** arguments.
从
这就是为什么永远无法访问控制台.log
。因此,您只需将匿名函数放入gulp.parallel
参数中即可修复它
gulp.task("default", gulp.parallel("do-nothing", function (done) {
console.log(`\n\n\nWHY AM I NOT BEING RUN`)
}));
另外,由于您正在使用gulp.parallel
,console.log
不会等待什么都不做
完成。尝试添加返回到setTimeout
尝试添加返回到setTimeout