promise.all in einer forEach-Schleife - alles auf einmal abfeuern

In einer Node-App muss ich einige Elemente synchron durchlaufen, aber einige Vorgänge in der Schleife sind asynchron. Mein Code sieht momentan so aus:

someAPIpromise().then((items) => {
   items.forEach((item) => {
      Promise.all[myPromiseA(item), myPromiseB(item)]).then(() => {
         doSomethingSynchronouslyThatTakesAWhile();
      });
    }
}

Dies wirkt Wunder, wenn dieitems ist ein Array von 1. Wenn jedoch mehr als ein Element vorhanden ist,promise.all() wird sofort für jedes Element im Array ausgelöst, ohne auf das Ende des Vorgangs in der Schleife zu warten.

All das zu sagen ... wie kann ich sicherstellen, dass die gesamte Operation für jedes Element im Array synchron ausgeführt wird (auch wenn einige Operationen asynchron sind und ein Versprechen zurückgeben)?

Vielen Dank

N

Antworten auf die Frage(10)

Ihre Antwort auf die Frage