Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

130
Vistas
esperar a que finalice la función

Tengo esta función con el mapa, ¿cómo puedo llamar solo cuando termine?

 _.map(data,async function (el) { if(Number.parseInt(el) != NaN && (el != null) && !isNaN(el)){ console.log('ID: ' + el) await scrapeDetails(el) // <--- need to wait finish and than go to next element in map } }) async function scrapeDetails(id){ // ... bla bla }
about 4 years ago · Santiago Gelvez
3 Respuestas
Responde la pregunta

0

map y otras funciones de orden superior tienen comportamientos funky cuando se les dan funciones async...await . La mejor solución que encontré hasta ahora es usar la sintaxis for...of con await . Algo como esto:

 for (const element of data) { // do all operations here }
about 4 years ago · Santiago Gelvez Denunciar

0

Recoge las promesas y resuélvelas con Promise.all(). Todos están listos cuando eso está hecho.

 const promises = _.map(data, function (el) { if(Number.parseInt(el) != NaN && (el != null) && !isNaN(el)){ console.log('ID: ' + el) return scrapeDetails(el) } else { return Promise.resolve(); } }); let allResults = await Promise.all(promises); console.log('now we are done!')
about 4 years ago · Santiago Gelvez Denunciar

0

O siempre puedes usar la recursividad.

 const asyncProcess = async (array, index) => { const value = array[index]; if (!value) return; .. await scrapeDetails(el); return asyncProcess(array, index + 1); }
about 4 years ago · Santiago Gelvez Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda