Het probleem is dit:
var r = db.demo(query, function(result) { data = result; });
console.log( 'Data : ' + data);
De console.log
wordt uitgevoerd voordat de callback-functie wordt aangeroepen, omdat db.demo
is asynchroon, wat betekent dat het even kan duren voordat het klaar is, maar al die tijd de volgende regel van de code, console.log
, wordt uitgevoerd.
Als u toegang wilt tot de resultaten, moet u wachten tot de callback-functie wordt aangeroepen:
var r = db.demo(query, function(result) {
console.log( 'Data : ' + result);
});
Dit is hoe de meeste code die met I/O omgaat in Node zal werken, dus het is belangrijk om erover te leren.