2

ターミナルでノードを介して実行するときにこれを再現できないため、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 オブジェクトを示します。これは、私が理解できないように見える単純なスコープの問題のようです。

4

1 に答える 1