2016-10-13 34 views
0

我使用Restangular使我的API調用單個對象,像這樣:後對象的數組與Restangular - AngularJS

$scope.box = { name : "box_a" , id : 1 }; 

Restangular.all('boxes/') 
    .post($scope.box) 
    .then(function(){ 
     ... 
    }); 

但現在,用戶可以選擇多個盒子可以一次添加。所以,我想發佈多個對象,以我的API,但我需要等待每個請求,直到它完成,或我的數據庫將「鎖定」 ......

快速增加對象如下:

$scope.boxes = [ 
    { name : "box_a" , id : 1 }, 
    { name : "box_b" , id : 2 }, 
    { name : "box_c" , id : 3 } 
] 

如何通過循環訪問我的$scope.boxes來創建承諾鏈?我不能完全弄清楚如何創建Restangular承諾的數組...

回答

0

我不知道很多關於restangular,但你可以鏈就像一個縮小功能的要求:

$scope.boxes.reduce(function(promise, newBox){ 
    return promise.then(function(){ 

     return Restangular.all('boxes/') 
      .post(newBox) 
      .then(function(){ 
       ... 
      }); 
    }); 
    }, $q.resolve()); 

我做了一個fiddle(沒有重複,只是一個郵政電話),它似乎工作。

+0

非常感謝!那正是我需要的...... – user1141796