This code works as expected:
services.map(async svc => {
  promises.push(new Promise(async (resolve) => {
    html += `<h2>${svc}</h2>`;
    let journeyDetails = await admin.database().ref(`data`).once('value');
    resolve();
  }));
});
await Promise.all(promises).then(() => {
  return res.send(html);
})
Why does the code below not work? In my eyes it's the same, but the execution order is now incorrect.
Promise.all([
  services.map(async svc => {
    new Promise(async (resolve) => {
      html += `<h2>${svc}</h2>`;
      let journeyDetails = await admin.database().ref(`data`).once('value');
      resolve();
    })
  })
]).then(() => {
  // done - called before finished in this version
}).catch(() => {
  // err
});
 
    