NEWS
Parameterübergabe an Callback-Function
-
Hallo an die Javascript-Experten,
ich hab da mal eine Frage. Hier mein Code:
SQLAbfrage(idHaushalt,"Tag","Haushalt"); function SQLAbfrage (id,Intervall,Stromart) { //log(id+Intervall); sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', GetResults); } function GetResults (dpoint) { //log(JSON.stringify(dpoint.result)); //diverse Anweisungen }
Wie vielleicht zu erkennen ist möchte ich die beiden Parameter "Intervall" und "Stromart" an die Funktion "GetResults" quasi durchreichen. Ich habe aber keine Ahnung wie die Syntax dazu aussehen muss. So hat's jedenfalls nicht geklappt:
sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', GetResults(Intervall,Stromart));
Wie ihr seht hab ich mich inzwischen damit beholfen die beiden Werte direkt mit in der SQL-Abfrage zu verpacken. Funktioniert - ist aber nicht besonders schick - das geht doch bestimmt auch eleganter - oder?
Danke und Gruß
Thilo
-
Hallo an die Javascript-Experten, `
in ich zwar nicht, aber
sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', function(){ GetResults(Intervall,Stromart); });
könnte gehen???
EDIT:
sendTo('sql.0', 'query', 'SELECT id, name, \'' + Intervall + '\' AS Intervall, \'' + Stromart + '\' AS Stromart FROM datapoints WHERE name = \'' + id + '\'', function(result){ if (result.error) { log(result.error, 'error'); } else { GetResults(result, Intervall, Stromart); } });
-
Danke blauholsten - so funktionierts.
Ich habe eben diese Anonymen Funktionen (ich glaub, so heißen die??) und auch die asynchrone Verarbeitung bei Javascript noch nicht wirklich verinnerlicht.