promesa.todos dentro de un bucle forEach - todo disparando a la vez
En una aplicación Node, necesito iterar a través de algunos elementos de forma síncrona, pero algunas de las operaciones dentro del bucle son asíncronas. Mi código ahora se ve así:
someAPIpromise().then((items) => {
items.forEach((item) => {
Promise.all[myPromiseA(item), myPromiseB(item)]).then(() => {
doSomethingSynchronouslyThatTakesAWhile();
});
}
}
Esto funciona de maravilla cuando elitems
es una matriz de 1. Pero, una vez que hay más de un elemento,promise.all()
simplemente se disparará instantáneamente para cada elemento de la matriz, sin esperar a que finalice la operación en el bucle.
Todo eso para decir ... ¿cómo puedo asegurarme de que toda la operación para cada elemento de la matriz se ejecute sincrónicamente (incluso si algunas operaciones son asíncronas y devuelven una promesa)?
¡Muchas gracias!
N