9951 explained code solutions for 126 technologies


angularjsHow do I use $q.all in AngularJS?


The $q.all method in AngularJS allows you to execute multiple promises in parallel and wait for all of them to resolve before continuing. This method takes an array of promises and returns a single promise that will be resolved when all of the input promises have been resolved.

For example, the following code uses $q.all to wait for two promises to be resolved before logging the result to the console:

var promise1 = $q.resolve(1);
var promise2 = $q.resolve(2);

$q.all([promise1, promise2]).then(function(results) {
  console.log(results); // [1, 2]
});

The $q.all method can also be used to execute multiple asynchronous operations in parallel and wait for all of them to succeed before continuing. For example, the following code uses $q.all to wait for two asynchronous operations to be completed before logging the result to the console:

function asyncOperation1() {
  return $q(function(resolve, reject) {
    setTimeout(function() {
      resolve(1);
    }, 1000);
  });
}

function asyncOperation2() {
  return $q(function(resolve, reject) {
    setTimeout(function() {
      resolve(2);
    }, 1000);
  });
}

$q.all([asyncOperation1(), asyncOperation2()]).then(function(results) {
  console.log(results); // [1, 2]
});

The $q.all method can be used to execute multiple asynchronous operations in parallel and wait for all of them to succeed before continuing. It takes an array of promises and returns a single promise that will be resolved when all of the input promises have been resolved.

Helpful links

Edit this code on GitHub