【发布时间】:2019-01-09 16:22:30
【问题描述】:
我有 register.js 从那里导出我的函数来计算集合中的文档数。
另一个函数利用了这个函数,我会让它做一些额外的任务。
这里的问题是,我在console 中得到结果,但不知道如何通过回调传递它。
register.js
module.exports.getCount = function(){
User.countDocuments({},function(err,count){
console.log(count) // WORKS FINE
return count; //Doesn't work
})
}
module.exports.FB_updateUserID = function(facebookUserID, callback){
this.getCount();
return this.getCount(); //Doesn't work
}
facebookLogin.js
User.FB_updateUserID(req.body.facebookUserID, (err, updatedUser) => {
if (err) throw err;
console.log(updatedUser); //THIS SHOWS UNDEFINED
});
我正在寻找正确的方法。
【问题讨论】:
-
您没有返回结果。你必须返回一些东西。
-
我也试过返回,让我告诉你。
-
@Akrion,请检查更新
-
但是
countDocuments不是异步调用吗?你应该做const number = await User.count();不? -
嗯,我猜是这样,但我在控制台中得到它时很奇怪,这让我觉得它工作正常。但是让我检查一下是不是因为它是异步的。
标签: javascript node.js mongodb mongoose callback