wait for loop to finish javascript

JavaScript
async function processArray(array) {
  // map array to promises
  const promises = array.map(delayedLog);
  // wait until all promises are resolved
  await Promise.all(promises);
  console.log('Done!');
}function doFirst() {
  return new Promise(function(resolve, reject) {
    //do a thing
      if (){
          return reject(value);
  	  }
      resolve(value);
    });
  });
}

async function doSecond() {
    var outputValue = await doFirst();
    console.log(outputValue);
}
Source

Also in JavaScript: