Прошлой ночью я много искал и не мог найти решение для своей проблемы: У меня есть цикл for
с одной функцией в нем, которая получает меня только самое последнее значение из массива.Как реализовать закрытие этой функции в JavaScript?
Итак, вот пример:
obj1.route = new Routeng();
obj2.route = new Routeng();
for(var x in arrObjs) { //arrObjs = array of objects
var g = arrObjs[x];
// I can access properties of all "g" objects
Routelousse.gen(function(res) {
var pathern = res.pathern;
g.routel.staviPather(pathern);
MYOBJ.vehicles.push(g);
alert(g.name); // during the loop I always get the LAST "g" object from "arrObjs"
}, g.point);
}
Непонятно (для меня), о чем вы просите? – annakata
@annakata. Поскольку JavaScript не имеет области блока здесь, тот же 'g' повторно используется каждый проход' for', поэтому неверный используется, когда эта асинхронная функция завершается. –
@annakata - thanx, но Ник решил мою проблему! –