2016-12-10 5 views
1

Ich bin neu in NodeJS und ein Problem mit SQLite-Auswahlabfrage mit Blick aufSELECT-Abfrage synchron mit NodeJS und sqlite3

Unten ist mein Code.

Ich möchte mein Parse sollte warten, bis ich fertig bin mit get_obj(). Im aktuellen Szenario kehrt mein Parse sofort zurück. Jede Hilfe wird geschätzt.

Antwort

0

eine anonyme Funktion zu Ihrer db.each Funktion hinzufügen:

let ret1 = db.each(query, function(err, row, ret) { 
     if (err) { 
      console.log("No records found"); 
     } else { 
      if (row.handle == handle) { 
       ret = JSON.parse(obj_str); 
      } 
     }, function (err, rows) {    <---- this one 
       parse(topic, msg, name) 
      }); 
    }); 

Beachten Sie, dass asynchron node.js Funktionen ausgeführt. Aus diesem Grund müssen Sie einen Callback haben, der ausgeführt wird, sobald db.each() beendet ist und somit die Callback-Funktion garantiert wird, nachdem die DB-Abfrage abgeschlossen ist.