2015-06-30 141 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(); 
}