ターミナルでノードを介して実行するときにこれを再現できないため、IDE、WebStorm に固有の非常に奇妙な問題に遭遇しました。以下のサンプルでは:
r = require('rethinkdb');
var connection = null;
r.connect({host: 'localhost', port: 28015}, function(err, conn) {
if (err) throw err;
connection = conn;
});
console.log(connection);
コールバックの外で結果をログに記録しようとすると、接続グローバル変数が「null」になります。ただし、コールバック内からオブジェクトをログに記録すると、次のようになります。
var connection = null;
r.connect({host: 'localhost', port: 28015}, function(err, conn) {
if (err) throw err;
connection = conn;
console.log(connection);
});
接続 JSON オブジェクトを示します。これは、私が理解できないように見える単純なスコープの問題のようです。