Tengo 2 funciones con bucles que quiero ejecutar secuencialmente:
La función A se ejecuta
Dentro de la función A hay un bucle For que activa una función externa
Una vez que el bucle en la Función A termina de hacer su trabajo, comenzamos con la Función B
He intentado con el siguiente código, pero la función B se inicia en paralelo, no espera a que finalice la función A:
async function sendPosts() { console.log("start send posts") for (let post of posts) { ... await channel.send({ ... }).then((message) => { externalFunction(message); }) .catch(err => console.log(err)); } console.log("finish send posts") } async function sendComments() { console.log("start send comments") for (let comment of commentsData) { ... } console.log("finish send comments") } sendPosts().then(sendComments());No se espera for of loop. Estás buscando algo como lo siguiente
for await (const variable of iterable)https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for-await...of
El bucle Foreach ha actuado de la misma manera.