2015-06-30 110 views
0

我打電話循環中的$資源。
我想調用另一個$資源一旦在循環中的所有呼叫都完成。

我已經搜查,發現約q.defer $,但我不知道如何將它應用到我的例子:

for (var i=0; i<$scope.fraiss.length; i++){ 
    var frais = {}; 
    //copy some properties values of $scope.fraiss[i] in frais then persist frais 
    FraisVente.save(frais) 
} 
MyNextService.query(); 

如果有人可以幫助我在此...

由於

回答

1

你想用$q.all()

從角文檔:

all(promises);
將多個承諾組合成一個單一的承諾,當所有輸入承諾解決時解決。

var promises = []; 

for (var i=0; i<$scope.fraiss.length; i++){ 
var frais = {}; 
//copy some properties values of $scope.fraiss[i] in frais then persist frais 
promises.push(FraisVente.save(frais)); 
} 

$q.all(promises).then(function() { 
    MyNextService.query(); 
}