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

おかげで2本の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を使用してお勧めします。

var del = require('del'); 

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

ありがとう:それはちょうどあなたがすべてのコールバックに対処する必要はありません、それはあなたが一度に複数のファイル/フォルダを削除することができますを意味し、rimrafの周りにラッパーを約束します。ネスティングは非常に複雑で保守的ではないので、私は 'del'を使用します。私はリムラフがデルを支持して廃止されていることも発見しました。 – pantonis

関連する問題