Quiero agregar algunos parámetros adicionales a la llamada API de geocodificador de Google, ya que los estoy ejecutando en un bucle, pero no estoy seguro de cómo agregar parámetros de cierre a su función anónima que ya tiene parámetros predeterminados que pasan a la API.Adjuntar parámetros con cierres de javascript a parámetros predeterminados en funciones anónimas
Por ejemplo:
for(var i = 0; i < 5; i++) {
geocoder.geocode({'address': address}, function(results, status) {
// Geocoder stuff here
});
}
Quiero ser capaz de utilizar el valor de i en el pasado geocoder.geocode() función anónima, pero si tuviera un cierre usando }(i));
en la línea 4, por ejemplo, que reemplazaría el primer parámetro que rompería el geocodificador.
¿Hay alguna forma de que pueda usar cierres o pasar el valor de i a la función anónima?
Efectivamente lo que quiero hacer es:
geocoder.geocode({'address': address}, function(results, status, i) {
alert(i); // 0, 1, 2, 3, 4
}(i));
pero trabajando :-)
¡Una solución aún más simple! Debería haber publicado antes – WheresWardy
Iba a decir que era confuso tener 'i' en el alcance exterior y el alcance interno, pero veo que ya lo solucionaste, así que te dejaré :) – Skilldrick
Sugiero que este el ejemplo es el mejor porque otros (son más simples) no funcionan en mi caso: el i dentro de la función de devolución de llamada del geocodificador es siempre el último en el ciclo. Supongo que depende de la naturaleza asíncrona del navegador. ¡Pero esta respuesta funcionó perfectamente! +1! – Igor