我有:
gulp.task("remove:tsConfigs", function (cb) {
rimraf('./wwwroot/js/ng2-toastr/tsconfig.json', cb);
rimraf('./wwwroot/js/reflect-metadata/tsconfig.json', cb);
});
我的任务完成回调被调用了太多次
我看到几篇帖子说这是异步问题。我不知道如何修复它
提前致谢
答案 0 :(得分:1)
两条rimraf
行中的每一行都会调用cb
回调。但是,您只能拨打cb
一次。
您必须使用嵌套回调,以便仅在cb
执行完成后调用rimraf
:
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']);
});