1Danke
ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
285
285
EMPFEHLEN
-
Hallo
ich versuche schon seit Stunden ein Callback. Also ich versuche das SQL Objekt in ein Variable zupacken, nicht Global aber eine Funktion soll mir nur das Objekt übergeben.
meine executeSQL
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
function executeQuery($query,callback){ try{ if(window.openDatabase){ db.transaction( function(tx){ tx.executeSql($query,[],function(tx,result){ if(typeof(callback) == "function"){ callback(result); }else{ if(callback != undefined){ eval(callback+"(result)"); } } },function(tx,error){}); }); // return result; } }catch(e){ console.log(e); }
der Callback funktioniert wenn ich es so aufrufe:
Code :1 2 3 4 5 6 7 8
sql = 'SELECT * FROM '+dbPrefix+'news'; executeQuery(sql,function(results){ alert(results); });
natürlich gibt mir alert aus das es ein SQLObject besitzt.
Ich will das Objekt aber zb gerne so haben :
Code :1 2 3 4 5 6
sql = 'SELECT * FROM '+dbPrefix+'news'; var mySQLObject = executeQuery(sql); console.log(mySQLObject);
Ich habe rumprobiert aber irgendwie schnall ich das callback net richtig
Kann wer Helfen
LG, Marc
-
Das ist bei asynchronem Code nunmal so. Du musst in der callback Funktion weiter arbeiten.
Code javascript:1 2 3 4 5 6 7 8 9
sql = 'SELECT * FROM '+dbPrefix+'news'; executeQuery(sql,function(mySQLObject){ console.log(mySQLObject); //Hier muss die weiter Logik stehen }); //Hier kann niemals was mit den SQL Daten gemacht werden
Edit: Eventuell funktioniert das auch synchron, was aber nicht zu empfehlen ist. Auf welcher Plattform soll das laufen?Geändert von CPoly (04.01.12 um 23:04 Uhr)
-
na doch
ich kann sie Innerhalb der Logik global setzen und darauf zugreifen.
wenn ich zb. mit $.ajax arbeite und async auf false setze habe ich die daten ja auch als Array, json usw. Also ich jetzt hier nicht der JS-Greek, ich finde das ich jetzt da drin bleiben muss irgendwie misst.
-
ich setz da was mit phonegap um, und ist erstmal für adroid
-
-
ja mache es jetzt innerhalb... glaube einen guten weg gefunden zu haben.
du musst mir aber auch sagen warum das nicht gut ist!
-
Gerne.
Quelle: http://api.jquery.com/jQuery.ajax/Note that synchronous requests may temporarily lock the browser, disabling any actions while the request is active.
Das heißt so viel wie: Wenn der AJAX request eine Sekunde braucht, läuft innerhalb dieser Sekunde kein anderes JavaScript. keine Events (click, load), Keine Animationen, keine weitere AJAX requests.
In anderen Sprachen, wie z.B. Java, sind synchrone Anfragen die Regel, aber dort hat man auch Threads. Anstatt mit Threads programmiert mit in JavaScript eben mit Asynchronen Events.
Ähnliche Themen
-
[SQLite] Anfänger frage bzw C# und SQLite
Von Lensen im Forum Relationale DatenbanksystemeAntworten: 4Letzter Beitrag: 14.12.11, 12:50 -
Was ist CALLBACK?
Von devian_der_999 im Forum C/C++Antworten: 1Letzter Beitrag: 14.12.10, 13:23 -
Callback
Von MrDude im Forum C/C++Antworten: 9Letzter Beitrag: 30.03.05, 15:38 -
Callback bei Threads
Von neik im Forum C/C++Antworten: 0Letzter Beitrag: 20.08.04, 14:30 -
Was ist Callback?
Von Tutankhseth im Forum C/C++Antworten: 6Letzter Beitrag: 07.08.04, 00:54





Zitieren


Login





