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

147
Vistas
Espere a que el código termine de ejecutarse antes de pasar a la siguiente iteración del bucle

En el siguiente bucle for, llamo a una función asíncrona que realiza una llamada a la API. Quiero esperar esa función para asegurarme de obtener los datos necesarios, luego enviarlos a una matriz y solo entonces quiero pasar a la siguiente iteración (i ++). En este momento, está revisando todos los valores de i y terminando el ciclo y llamando a _callback con una matriz vacía.

Círculo:

 for (let i = 0; i < waypointCityNames.length; i++) { const curCityName = waypointCityNames[i] await getNameLatLonFromSearch(curCityName, (curWaypointObject) => { waypointObjectArray.push(curWaypointObject) }) } _callback(waypointObjectArray)

función api asíncrona:

 export default async function getNameLatLonFromSearch(cityName, _callback) { fetch(BASE_URL + cityName) .then((response) => response.json()) .then((data) => { const name = `${data.results[0].locations[0].street} ${data.results[0].locations[0].adminArea5} ${data.results[0].locations[0].adminArea3} ${data.results[0].locations[0].adminArea1}` const lat = data.results[0].locations[0].latLng.lat const lon = data.results[0].locations[0].latLng.lng _callback({ name: name, lat: lat, lon: lon, }) return }) }

Desde donde se llama:

 getWaypointLocationObjectArray( startLocationName.origin, endLocationName.destination, leaveTime.leaveHour, (waypointsWithTime) => { //the code is getting to this callback before the api can finish, so its an empty array console.log(waypointsWithTime) } )
about 4 years ago · Juan Pablo Isaza
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