bluebird Promise.all

30% OFF - 9th Anniversary discount on Entity Framework Extensions until December 15 with code: ZZZANNIVERSARY9


  Iterable<any> | Promise<Iterable<any>> input
) -> Promise

This method is useful for when you want to wait for more than one promise to complete.

Given an Iterable(arrays are Iterable), or a promise of an Iterable, which produces promises (or a mix of promises and values), iterate over all the values in the Iterable into an array and return a promise that is fulfilled when all the items in the array are fulfilled. The promise's fulfillment value is an array with fulfillment values at respective positions to the original array. If any promise in the array rejects, the returned promise is rejected with the rejection reason.

var files = [];
for (var i = 0; i < 100; ++i) {
    files.push(fs.writeFileAsync("file-" + i + ".txt", "", "utf-8"));
Promise.all(files).then(function() {
    console.log("all the files were created");

This method is compatible with Promise.all from native promises.

Got any bluebird Question?