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.