4.7.2 Promise.all Example

by dimitrs_papadimitriou

HTML

<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>

JavaScript

var race = function (promises) { 
    return new Promise((resolve, reject) => {
      promises.forEach((promise) => {
        promise.then((value) => {
          resolve(value); 
        }).catch(function (error) {
          reject(error);
        });
      });
    });
  }

  race([
    new Promise(resolve => setTimeout(() => resolve(1), 3000)), // 1
    new Promise(resolve => setTimeout(() => resolve(2), 2000)), // 2
    new Promise(resolve => setTimeout(() => resolve(3), 1000)) // 3
  ]).then(console.log); // 3