2016-10-13 3 views
0

나는이 같은 단일 개체 내 API 통화를 할 Restangular을 사용하고 있습니다 :포스트 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을 반복하여 약속 체인을 만들 수 있습니까? 꽤

답변

0

내가 restangular에 대해 잘 모르는 ... Restangular와 약속의 배열을 만드는 방법을 알아낼 수 없습니다,하지만 당신은 같은 감소 기능을 가진 이러한 요청 체인 수 :

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

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

나는 fiddle을 만들었지 만 (단지 사후 호출로), 작동하는 것 같습니다.

+0

대단히 감사합니다! 그게 내가 필요로 한 것 ... – user1141796