const p1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve(1);
  }, 200);
});
const p2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve(2);    
  }, 100);
});
const p3 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve(3);
  }, 300);
});

Promise.all([p1, p2, p3]).then((resp) => {
  console.log(resp); // Logs [1,2,3]
}, (err) => {
  console.log(err); // Not executed
});