Здравствуйте! Проблема следующая, имеется код:
var globalVar = "a";
function add() {
for (i = 0; i < path.length; i++) {.....
//Здесь в качестве параметра передается функция aw
geocoder.geocode({
'latLng': latlng
}, aw);
//Пробую выводит новое значение переменной globalVar, а выводится старое
alert(globalVar);...
}
}
function aw(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[1]) {
...
if (...) {
globalVar = "qqqq";
alert(globalVar)
} else {
globalVar = "aaaa";
alert(globalVar)
}
}
}
В ф-ции aw переменная меняет, проверено выводом alert. А как потом это измененное значение получить в основной функции, род комментарием: //Пробую выводит новое значение переменной globalVar, а выводится старое
awне срабатывает.. потому что если убрать из вашего кода все условия, то всё работает: http://jsfiddle.net/jPUJT/ – Яковлев Андрей Dec 19 '12 at 17:44.geocode()- асинхронная функция, поэтому колбэкawможет вызваться после вызоваalert(globalVar);– Spectre Dec 19 '12 at 18:11