2016-02-29 44 views
0

保存for循環的好方法是什麼?

for (var i=0;i<$scope.annonces.length;i++){ 
    promises.push(Annonces.save($scope.annonces[i])).$promise; 
} 
$q.all(promises).then(function() { 
    blablabla 
} 

for (var i=0;i<$scope.annonces.length;i++){ 
    promises.push(Annonces.save($scope.annonces[i]).$promise); 
} 
$q.all(promises).then(function() { 
    blablabla 
} 
+0

當你嘗試它們時發生了什麼?你沒有提到一個具體的問題 – charlietfl

+0

我有怪異的行爲,$ scope.annonces [i]的數據不好保存,問題隨機發生。 – user1260928

+0

'$ scope.announces'本身是一個'$ resource'對象嗎?它是否有'$ promise'屬性?如果是這樣,promises.push循環應該從'$ promise'鏈接。 – georgeawg

回答

0

試試這個方法:

​​
+0

這就是我第一次做的,所以我希望好的解決方案將成爲第一個提議:) – user1260928

+0

@ user1260928第一個提議根本不起作用,因爲'$ q.all'需要承諾數組,並且您正在傳遞資源。 – karaxuna

0

這是一個很好的用例的地圖操作

var myPromises = $scope.annonces.map(function(annonce) { 
    return Annonces.save(annonce).$promise 
}); 

這將產生承諾的數組以更加功能的方式