2017-03-03 20 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