下面的代码使用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
请帮助我!
答案 0 :(得分:3)
问题是你永远不知道回调什么时候会发生;它的异步。因此,您不希望在结果上等待任何事情。你应该做的不是返回一个值,你应该调用一个函数,传递值,并且该函数应该按照你希望它对结果做的。