Problemet er dette:
var r = db.demo(query, function(result) { data = result; });
console.log( 'Data : ' + data);
console.log
vil køre før tilbagekaldsfunktionen bliver kaldt, fordi db.demo
er asynkron, hvilket betyder, at det kan tage lidt tid at afslutte, men hele tiden er næste linje i koden, console.log
, vil blive udført.
Hvis du vil have adgang til resultaterne, skal du vente på, at tilbagekaldsfunktionen bliver kaldt:
var r = db.demo(query, function(result) {
console.log( 'Data : ' + result);
});
Det er sådan det meste kode, der handler med I/O, vil fungere i Node, så det er vigtigt at lære om det.