Estoy almacenando los datos de una llamada API en variables y me gustaría usar los datos en las variables en otras partes de la función. Sin embargo, cuando imprimo lo que hay en las variables fuera de la función de flecha, los datos tienen un tipo de indefinido.
La primera console.log(coordinates); muestra ["08002", "39.916258", "-75.021428"] y la segunda muestra
[ "08002", "39.916258", "-75.021428" ] Pero cuando tengo console.log(coordinates[1]); fuera de la función de flecha, dice que no está undefined .
const getLongLat = function(zip) { //gets long lat from a zip code zip = document.getElementById("ZipCode").value let lat = 0; let long = 0; let coordinates = []; if (zip == "") { zip = "08002" } coordinates.push(zip); const APIkey = "#########"; let base = `http://open.mapquestapi.com/geocoding/v1/address? key=${APIkey}&location=${zip}`; console.log("base " + base); fetch(base) .then(response => response.json()) .then(data => { //makes it so that the city is in the us let i = 0; while (data.results[0].locations[i].adminArea1 != "US") { i++ } lat = String(data.results[0].locations[i].latLng.lat); long = String(data.results[0].locations[i].latLng.lng); coordinates.push(lat); coordinates.push(long); console.log(coordinates); }) console.log(coordinates); return coordinates; };