Ejecutar algo cuando la iteración y las llamadas asincrónicas hayan terminado
Hola, pues verán, tengo que hacer una función que sobre un array pasado como parametro, itere sobre el mismo y ejecute por cada iteración una consulta asincrónica. El problema que tengo es que debo llamar a otra funcion cuando la iteración haya terminado Y cuando todas las llamadas asincrónicas hayan sido resueltas. A continuación dejo código de lo que tengo hasta ahora:
let recorridos = ['algo', 'otro', 'nada', 'ro']
let verificar = (recorridos) => {
/*Lo que quiero hacer es que cuando termine de recorrer el array de recorridos y el setTimeOut haya terminado para cada iteracion, llamar a otra funcion. Ya que puede darse el caso de que el forEach haya terminado de iterar, pero dentro del setTimeOut haya peticiones que todavía no hayan terminado.*/
recorridos.forEach(item => {
setTimeout(() => {
console.log('ejecuto llamadas con fetch a cada item')
}, Math.floor(Math.random() * 1000) );
})
//Si se terminó de iterar && todas las llamadas han sido devueltas ejecutar otraFuncion()
otraFuncion()
}
Alguna idea?
Saludos!
