Post 具有 Restangular 的对象数组 - AngularJS
Post an array of objects with Restangular - AngularJS
我正在使用 Restangular 对单个对象进行 API 调用,如下所示:
$scope.box = { name : "box_a" , id : 1 };
Restangular.all('boxes/')
.post($scope.box)
.then(function(){
...
});
但现在,用户可以 select 一次添加多个框。所以,我想 post 多个对象到我的 API,但我需要等待每个请求直到它完成,否则我的数据库将 'lock'...
我的快速添加对象如下:
$scope.boxes = [
{ name : "box_a" , id : 1 },
{ name : "box_b" , id : 2 },
{ name : "box_c" , id : 3 }
]
如何通过遍历 $scope.boxes
来创建承诺链?我不太明白如何使用 Restangular 创建一组 promises...
我不太了解 restangular,但您可以使用 reduce 函数链接这些请求,例如:
$scope.boxes.reduce(function(promise, newBox){
return promise.then(function(){
return Restangular.all('boxes/')
.post(newBox)
.then(function(){
...
});
});
}, $q.resolve());
我做了一个 fiddle(没有 restangular,只是一个 post 调用)并且它似乎有效。
我正在使用 Restangular 对单个对象进行 API 调用,如下所示:
$scope.box = { name : "box_a" , id : 1 };
Restangular.all('boxes/')
.post($scope.box)
.then(function(){
...
});
但现在,用户可以 select 一次添加多个框。所以,我想 post 多个对象到我的 API,但我需要等待每个请求直到它完成,否则我的数据库将 'lock'...
我的快速添加对象如下:
$scope.boxes = [
{ name : "box_a" , id : 1 },
{ name : "box_b" , id : 2 },
{ name : "box_c" , id : 3 }
]
如何通过遍历 $scope.boxes
来创建承诺链?我不太明白如何使用 Restangular 创建一组 promises...
我不太了解 restangular,但您可以使用 reduce 函数链接这些请求,例如:
$scope.boxes.reduce(function(promise, newBox){
return promise.then(function(){
return Restangular.all('boxes/')
.post(newBox)
.then(function(){
...
});
});
}, $q.resolve());
我做了一个 fiddle(没有 restangular,只是一个 post 调用)并且它似乎有效。