J'ai un tableau de magasins, où l'adresse et d'autres choses sont stockées.Exécuter la requête http multiple - Parse Cloud Code
Maintenant, je veux itérer à travers ce tableau et géocoder les coordonnées lat/lng et les enregistrer dans la base de données.
Avec le code ci-dessous, je reçois des entrées doubles ou triples du même magasin. Est-ce que je manque quelque chose avec la portée ici?
Merci!
var promises = [];
data.forEach(function (element, index)
{
var addressString = element.plz + " " + element.stadt + "," + element.adresse;
var url = encodeURI("https://maps.googleapis.com/maps/api/geocode/json?address=" +
addressString);
var promise = Parse.Cloud.httpRequest({
method: "GET",
url:url
}).then(function (http) //SUCCESS
{
var geocodedObject = new Parse.Object("GeocodedStores");
geocodedObject.set("storeID", element.id);
geocodedObject.set("Latitude", http.data.results[0].geometry.location.lat);
geocodedObject.set("Longitude", http.data.results[0].geometry.location.lng);
return geocodedObject.save(null, {
useMasterKey: true
});
},
function (http, error)
{
response.error(error);
});
promises.push(promise);
});
return Parse.Promise.when(promises);