我想在函数中从mongodb返回一些数据。函数的主体如下所示:
var name = '';
var ret = this.collection.findOne({"socket_id" : socket_id}).on('success', function(doc) {
name = doc.name;
console.log("name inside mongo callback is not empty" + name);
});
console.log("name here is empty" + name);
如果我在控制台中记录数据,回调会正确显示数据,但如果我返回表单回调,我似乎无法从我调用函数的地方捕获它。我怀疑它与node.js是异步和东西有关,但我该如何解决这个问题呢?任何帮助将不胜感激
答案 0 :(得分:1)
事实证明,这正是因为我试图获得对异步函数的同步响应。如果您偶然发现这个问题,我会建议您回答这个问题:
How to return value from an asynchronous callback function?
它有关于如何执行此类操作所需的所有答案