3

Suppose that I have two method which returns 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;
}

I want to fait for finishing both methods and then perform some actions. Some sort of

(method1(), method2()).then(function() {
   //some actions
});

It doesn't matter in what order the methods (method1 and method2) will be performed.

Andrei
  • 73
  • 1
  • 8

1 Answers1

7

You're looking for $q.all which does exactly this:

$q.all([method1(), method2()]).then(function() {
   //some actions
});
Benjamin Gruenbaum
  • 270,886
  • 87
  • 504
  • 504