How return promise from multiple promises

大憨熊 提交于 2019-12-12 02:51:12

问题


I always in console see:

  1. teamsUpdated2
  2. addUserToProjects
  3. deleteUserFromProjects

but should bee in different order

var result = teamService.addOrDeleteUser(userId, newTeams, deleteTeams);
result.then(function () {
     console.log("teamsUpdated2");          
     });

function with multiple promises:

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);
}

回答1:


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



来源:https://stackoverflow.com/questions/36004659/how-return-promise-from-multiple-promises

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!