Devo restituire un array da una funzione in Javascript/jQuery ma la funzione viene restituita prima che l'array sia stato impostato (poiché si tratta di una chiamata AJAX).Aggiunta di una promessa a una chiamata dell'API di Google Maps
Mi è stato consigliato di usare una promessa ma non li ho mai usati prima e finora non sono stato in grado di implementarlo nel mio codice. Qui è il mio codice:
mapClass.setLatLng = function(location, clubs) {
document.geoCodeRequestCompleteFlag = 0;
geocoder = new google.maps.Geocoder();
geocoder.geocode({'address' : location}, function(results, status) {
//console.log(results);
if(status === "OK") {
var latLngArray = [];
latLngArray.push(parseFloat(results[0].geometry.location.lat()));
latLngArray.push(parseFloat(results[0].geometry.location.lng()));
var sortedArray = mapClass.calculateDistances(clubs, latLngArray);
return sortedArray;
}
});
}
Come si può vedere, la variabile SortedArray è vuoto quando torno è. Qualcuno ha qualche idea su come aggiungere codice di blocco in questo per garantire che le variabili dell'array siano impostate prima di tornare? Grazie
Risposta e spiegazione fantastiche. Grazie. – devoncrazylegs