De acuerdo, he estado luchando con esto durante horas, pero todavía no puedo resolverlo, así que si alguien tiene la solución, ¡gracias!
En mi código a continuación, estoy obteniendo datos de mi API (que luego obtiene datos de la Búsqueda cercana de la API de Google Places . Ahora la API devuelve una lista de aproximadamente 20 ubicaciones diferentes. Para cada ubicación, he creado un objeto que contiene los datos solo quiero Luego, simplemente envío estos datos a la matriz comercial.
(La búsqueda está en un bucle porque la API de Google solo le permite buscar un tipo de edificio (cine, librería, bolera, etc.) a la vez, así que puse la búsqueda en un bucle para recorrer todo de los diferentes tipos de edificios de los que quiero datos)
Ahora, mi problema es que si trato de obtener el primer negocio de la matriz de negocios negocios [0], vuelve indefinido. Sin embargo, lo que encuentro aún más extraño es que si registro la matriz de negocios en la consola, muestra todo el negocio. No tengo idea de por qué está sucediendo esto, así que si alguien sabe, por favor díganos y estaré muy agradecido.
getNearbyPlaces = (latitude, longitude, radius, types) => { const businesses = []; types.forEach(async (type) => { await fetch(`${url}/google/places/nearbysearch?lat=${latitude}&lng=${longitude}&rad=${radius}&type=${type}`, { method: 'GET', body: null }).then(response => { if (response.ok) { return response.json(); } throw new Error('ERROR: Google-Api Nearby Places - response not okay'); }, networkError => console.log(networkError.message) ).then(jsonResponse => { if (jsonResponse.results) { jsonResponse.results.forEach(result => ( [...businesses].push({ id: result.place_id, name: result.name, address: result.vicinity, categories: result.types, rating: result.rating, reviewCount: result.user_ratings_total }) )) } }); }); console.log(businesses); // logs the list of bsuiness console.log(businesses[0]); // logs undefined }A continuación se muestra la imagen que se muestra en la consola cuando registro la matriz de empresas y las empresas[0] (los datos se han bloqueado por motivos de privacidad)
Imagen de lo que se muestra en la consola después de la ejecución