如何从多个承诺中返回承诺
How return promise from multiple promises
>我总是在控制台中看到:
- 团队更新2
- 添加用户到项目
- 删除用户从项目
但应该以不同的顺序蜜蜂
var result = teamService.addOrDeleteUser(userId, newTeams, deleteTeams);
result.then(function () {
console.log("teamsUpdated2");
});
具有多个承诺的函数:
var _addOrDeleteUser = function (userId, addToProjects, removeFromProjects) {
var deferred = $q.defer();
var promises = [];
promises.push(projectResource.addUserToProjects({ userId: userId }, addToProjects, function (result) {
console.log("addUserToProjects");
deferred.resolve();
return result;
}));
promises.push(projectResource.deleteUserFromProjects({ userId: userId }, removeFromProjects, function (result) {
console.log("deleteUserFromProjects");
deferred.resolve();
return result;
}));
return $q.all(promises);
}
你可以为此使用承诺链 -
travelService
.getDeparture( user ) // Request #1
.then( function( departure ){
$scope.departure = departure; // Response Handler #1
return travelService.getFlight( departure.flightID ); // Request #2
})
.then( function( flight ){
$scope.flight = flight; // Response Handler #2
return weatherService.getForecast( $scope.departure.date ); // Request #3
})
.then( function( weather ){
$scope.weather = weather; // Response Handler #3
});
有关更多参考,请参阅此处
相关文章:
- 承诺返回未定义的服务
- 从承诺返回不返回函数会导致警告
- 如何正确从承诺返回多个值
- 承诺返回承诺
- 承诺返回承诺
- 链承诺.all 与从上一个承诺返回的数组.all.
- 刷新从承诺返回$http数据
- 有没有一种 AngularJS 方法来使用带有承诺返回的浏览器模式
- Angular $http.json 承诺返回错误,尽管我可以看到响应
- 如何使用Jasmine测试AngularJS承诺返回的内容
- 为什么在从此承诺返回数据时我未定义
- JavaScript同步承诺返回
- 重构:从值或现有承诺返回承诺
- 从链接承诺返回数据
- 如何在angularjs中检查承诺返回值并采取行动
- 测试一个由承诺返回的函数——检查错误
- 如何使用angular和JavaScript承诺返回一些数据
- Firebase基本承诺返回
- 如何检索从承诺返回的数据
- React承诺返回undefined