Я хочу добавить некоторые дополнительные параметры в API API геокодирования Google, поскольку я запускаю его в цикле, но не знаю, как добавить параметры закрытия к их анонимной функции который уже имеет параметры по умолчанию, которые передаются при вызове API.Присоединение параметров с закрытием javascript к параметрам по умолчанию в анонимных функциях
Например:
for(var i = 0; i < 5; i++) {
geocoder.geocode({'address': address}, function(results, status) {
// Geocoder stuff here
});
}
Я хочу, чтобы иметь возможность использовать значение I в пройденном geocoder.geocode() анонимная функция, но если бы я имел замыкание с помощью }(i));
на линии 4, например, что заменит первый параметр, который разрушит геокодер.
Есть ли способ, которым я могу использовать закрытие, или передать значение i в анонимную функцию вообще?
Эффективно то, что я хочу сделать, это:
geocoder.geocode({'address': address}, function(results, status, i) {
alert(i); // 0, 1, 2, 3, 4
}(i));
но работает :-)
Еще более простое решение! Должен был опубликовать скорее – WheresWardy
Я собирался сказать, что это путано, когда я 'i' во внешней области и внутренней области, но я вижу, что вы исправили это сейчас, поэтому я отпущу вас :) – Skilldrick
Я предлагаю, чтобы это пример лучше, потому что другие (они проще) не работают в моем случае: i внутри функции обратного вызова геокодера всегда является последней в цикле. Я думаю, это зависит от асинхронности браузера. Но этот ответ работал отлично! +1! – Igor