gpt4 book ai didi

javascript - 使用 promises 从 mongo db 检索对象时出错

转载 作者:行者123 更新时间:2023-11-30 17:19:34 25 4
gpt4 key购买 nike

亲们, 我试图用 promise 包装以下内容,并返回一个 Mongo 文档。

Controller 的捕获出现错误:'TypeError:无法调用未定义的方法\'apply\'

将对象从数据库返回到 Controller 的正确方法是什么?

Controller :

Q.fcall(Users.fetchId(authId)).then(function userVerification(userObject) {
console.log ('got back',userObject);
responses.Unauthorized('Unauthorized ID', res);
}).catch(function handleError(err) {
responses.InternalServerError(''+err, res);
});

用户模型:

Users.prototype.fetchId = function fetchId(authId) {
return this.mongodb.fetchId(authId);
};

蒙古族:

MongoDatabase.prototype.fetchId = function fetchId(id) {
var result = {}
return this.authDB.query('users', function(collection) {
return collection.findOne({_id:id}, function (err, doc) {
if (!_.isEmpty(doc)) {
var result = doc;
}
console.log ('mongo',result);
return result;
});
});
};

最佳答案

Q.fcall 将函数作为其第一个参数,然后将参数应用于该函数。通过将 Users.fetchId(authId) 传递给它,您将调用该函数的结果传递给它。

尝试传递函数,然后传递要应用于它的参数:

Q.fcall(Users.fetchId, authId).then( fn )

关于javascript - 使用 promises 从 mongo db 检索对象时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25391865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com