如何从多个承诺中回报承诺 [英] How return promise from multiple promises
本文介绍了如何从多个承诺中回报承诺的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我总是在控制台中看到:
I always in console see:
- teamsUpdated2
- addUserToProjects
- deleteUserFromProjects
但是应该以不同的顺序蜜蜂
but should bee in different order
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);
}
推荐答案
您可以为此使用诺言链-
You can use promise chaining for that -
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
});
有关更多参考,请参见此
For more reference see this
这篇关于如何从多个承诺中回报承诺的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文