Waarschijnlijk Callback probleempje

Status
Niet open voor verdere reacties.

Erick123

Nieuwe gebruiker
Lid geworden
17 jan 2014
Berichten
1
Ik ben een beginner in het programmeren maar met proberen en veranderen kom ik altijd een heel eind, alleen nu kom ik niet verder. Het heeft te maken met synchrone verwerking van gegevens. In theorie snap ik het callback mechanisme alleen ik kom nu niet verder.

Ik heb een functie waarmee ik een array vul uit de SQLite database van Chrome. Dit gaat goed. In de array plaats ik coordinaten en een identifier.

Vanuit deze functie roep ik een functie aan dat adresgegevens bij de coordinaten zoekt via de service van HERE.

Het uitvragen gaat ook goed en de resultaten krijg ik ook terug. Ik wil de resultaten terugschrijven in de bijbehorende record. Het wegschrijven zelf gaat ook wel, maar niet gegarandeerd in het juiste record.
Ik heb van alles geprobeerd. Ik heb geprobeerd de identifier mee te geven wanneer ik via de service van HERE de uitvraging doe, maar dat kan niet omdat de functie maar 1 parameter verwacht (denk ik).
Het gaat om onderstaande functie en specifiek om de onSuccess callback. In de functie 'haalGegevensVanHere' heb ik (eventueel) nog de beschikking over het record ID (vanuit de array). Maar in de onSuccess kan ik het resultaat niet meer relateren met mijn zoekopdracht. Wanneer ik in de functie 'onSuccess' de uitgevraagde latitude en longitude (latitudeZoeken, longitudeZoeken) zou hebben, dan kom ik er waarschijnlijk al.

Code:
function haalGegevensVanHere (latitudeZoeken, longitudeZoeken)
{
console.log('in de functie haalGegevenVanHere');	
var reverseGeocodingParameters = {
    		prox: latitudeZoeken + "," + longitudeZoeken + ", 10",
    		mode: 'retrieveAddresses',
    		maxresults: 1
  	};
	geocoder.reverseGeocode(
  		reverseGeocodingParameters,
  		onSuccess,
  		function(e) { alert(e); });
};

function onSuccess(result) {
  var location = result.Response.View[0].Result[0];
  alert(location.Location.Address.Label);
};

Misschien is het nodig om nog meer onderdelen van mijn code te plaatsen maar waarschijnlijk kan iemand met meer ervaring in Javascript al iets zeggen waarmee ik geholpen ben.

Alvast bedankt voor jullie moeite.
 
Lastige dingen, kost wat tijd voordat je er lekker in zit.
Ga uit van de basis
Code:
function DoeIets (tekst, callback) {
  alert("De vraag is: " + tekst);
  var auto = "Mazda";
  callback(auto);
}

// de functie 'DoeIets()' aanroepen. Geef een functie mee als callback functie
DoeIets (
  "Welke auto?",
  function(automerk) {
    // de callback functie
    alert("Het merk is " + automerk);
  }
);
en zet in de functies jouw Javascript code
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan