Наверное, самый элегантный способ сделать это - просто использовать Array.forEach
:
a.forEach(function(someA, i) {
calcRoute(fixedLocation, my_cities[i].address, function(response) {
// i want here to have the current "i" here
});
});
Функция обратного вызова передается:
- текущий элемент
- текущий индекс
- массив, к которому он был вызван
Отсутствие аргументов означает, что вы не можете получить к ним доступ в обратном вызове. (Часто вы пропускаете индекс и просто используете текущий элемент).
Если a
- это NodeList
, который не имеет forEach
, просто сделайте:
Array.forEach.call(a, function(someA, i) { ... }