問題はこれです:
var r = db.demo(query, function(result) { data = result; });
console.log( 'Data : ' + data);
console.log
db.demo
のため、コールバック関数が呼び出される前に実行されます は非同期です。つまり、完了するまでに時間がかかる場合がありますが、その間、コードの次の行であるconsole.log
、実行されます。
結果にアクセスする場合は、コールバック関数が呼び出されるのを待つ必要があります:
var r = db.demo(query, function(result) {
console.log( 'Data : ' + result);
});
これは、I / Oを処理するほとんどのコードがNodeで機能する方法であるため、それについて学ぶことが重要です。