我需要從Javascript/jQuery中的函數返回數組,但函數在設置數組之前返回(因爲它是AJAX調用)。添加對Google Maps API調用的承諾
我已被建議使用承諾,但我以前沒有使用過,迄今爲止無法將其實現到我的代碼中。這是我的代碼:
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;
}
});
}
正如你所看到的,當我返回時,sortedArray變量是空的。有沒有人有任何想法,我可以添加阻止代碼,以確保在返回之前設置數組變量? 謝謝
夢幻般的回答和解釋。謝謝。 – devoncrazylegs 2014-09-29 09:20:40