在Angular中解决了几个承诺之后,我该如何执行某些操作?

And*_*rei 3 javascript promise angularjs

假设我有两个返回promises的方法.

function method1() {
   var deferred = $q.defer();
   // some actions
   deferred.resolve();

   return deferred.promise;
}

function method2() {
   var deferred = $q.defer();
   // some actions
   deferred.resolve();

   return deferred.promise;
}
Run Code Online (Sandbox Code Playgroud)

我想要完成两种方法,然后执行一些操作.某种

(method1(), method2()).then(function() {
   //some actions
});
Run Code Online (Sandbox Code Playgroud)

方法(method1和method2)的执行顺序无关紧要.

Ben*_*aum 7

你正在寻找$q.all哪个做到这一点:

$q.all([method1(), method2()]).then(function() {
   //some actions
});
Run Code Online (Sandbox Code Playgroud)