Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Nodejs MySQL-Verbindungsabfrage-Rückgabewert zum Funktionsaufruf

Das Problem ist folgendes:

var r = db.demo(query, function(result) { data = result; });

console.log( 'Data : ' + data);

Die console.log wird ausgeführt, bevor die Callback-Funktion aufgerufen wird, da db.demo ist asynchron, was bedeutet, dass es einige Zeit dauern kann, bis es fertig ist, aber die nächste Zeile des Codes, console.log , wird ausgeführt.

Wenn Sie auf die Ergebnisse zugreifen möchten, müssen Sie warten, bis die Callback-Funktion aufgerufen wird:

var r = db.demo(query, function(result) { 
  console.log( 'Data : ' + result);
});

So funktioniert der meiste Code, der sich mit E/A befasst, in Node, daher ist es wichtig, sich darüber zu informieren.