Ich muss ein Array von einer Funktion in Javascript/jQuery zurückgeben, aber die Funktion wird zurückgegeben, bevor das Array festgelegt wurde (wie es ein AJAX-Aufruf ist).Hinzufügen eines Versprechens zu einem Google Maps-API-Aufruf
Mir wurde geraten, ein Versprechen zu verwenden, aber ich habe diese zuvor noch nicht verwendet und konnte dies bisher nicht in meinen Code implementieren. Hier ist mein Code:
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;
}
});
}
Wie Sie sehen können, die sortedArray Variable ist leer, wenn ich zurückkehre ist. Hat jemand irgendwelche Ideen, wie ich Blockierungscode hinzufügen könnte, um sicherzustellen, dass die Array-Variablen vor der Rückgabe gesetzt werden? Dank
Fantastische Antwort und Erklärung. Vielen Dank. – devoncrazylegs