2017-03-03 49 views
0

我:咕嘟咕嘟错误:任务完成回调叫了太多次

gulp.task("remove:tsConfigs", function (cb) { 
    rimraf('./wwwroot/js/ng2-toastr/tsconfig.json', cb); 
    rimraf('./wwwroot/js/reflect-metadata/tsconfig.json', cb); 
}); 

,我得到任务调用次数太多

我看到几个职位,这是异步的问题完成回调。我不知道如何解决它虽然

在此先感谢

回答

1

每两个rimraf行调用cb回调。不过,您只能拨打cb一次。

你必须使用嵌套的回调,这样既rimraf已被执行后cb只叫:老实说,虽然

gulp.task("remove:tsConfigs", function (cb) { 
    rimraf('./wwwroot/js/ng2-toastr/tsconfig.json', function() { 
     rimraf('./wwwroot/js/reflect-metadata/tsconfig.json', cb); 
    }); 
}); 

,我推荐使用del代替。这是一个刚刚答应来包裹rimraf,这意味着你不必应付所有的回调,它允许您一次删除多个文件/文件夹:

var del = require('del'); 

gulp.task("remove:tsConfigs", function() { 
    return del(['./wwwroot/js/ng2-toastr/tsconfig.json', 
       './wwwroot/js/reflect-metadata/tsconfig.json']); 
}); 
+0

感谢。由于嵌套是非常复杂且不可维护的,因此我会使用'del'。我还发现,rimraf已被弃用,以支持del。 – pantonis