举个例子:
var data = "foo";
db.collection('users').find({}).toArray(function(err,docs){ // a mongodb object
data = 'bar';
});
console.log(data); // prints 'foo'
如何让它打印'bar',又如何在回调中更改data
的值?
答案 0 :(得分:2)
你必须习惯于异步思考!该值仅在执行回调时更改。
这样做:
var data = "foo";
db.collection('users').find({}).toArray(function(err,docs){ // a mongodb object
data = 'bar';
console.log(data);
});
答案 1 :(得分:2)
正如其他人暗示的那样,你的问题不是范围问题,而是执行顺序问题。在将'bar'分配给value之前调用console.log。