遇到一个非常奇怪的问题,可能是我的 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 对象。这似乎是一个简单的范围界定问题,我似乎无法弄清楚。