下面的代码使用mongoskin通过nodejs访问mongodb。 如何从外部访问回调函数的返回值?
app.get('/', function(req, res) {
var ret = db.collection('counters').findAndModify(
{_id: 'messagetransaction'},
[],
{$inc : {next: 1}},
true,
true,
function(err, counter) {
if (err) {
throw err;
}else{
console.log(counter.next);
return counter.next;
}
}
);
});
console.log(ret);
我收到如下错误,
ReferenceError: ret is not defined
请帮我解决这个问题!
最佳答案
问题是你永远不知道回调何时会触发;它是异步的。因此,您不想等待结果。您应该做的是调用一个函数,传递该值,而不是返回一个值,并且该函数应该执行您希望它对结果执行的操作。
关于mongodb - NodeJS中如何获取回调函数的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7348794/