我正在尝试使用bookshelf.js ORM设置密码重置方案,但我遇到了未处理的承诺拒绝错误
__local
我觉得我正在处理承诺好......问题是什么?
答案 0 :(得分:0)
当您获取用户时,Bookshelf已经返回Promise,因此您不需要单独创建新的Promise。如果你愿意,你必须返回类似这样的Bookshelf Promise
return new Promise((resolve, reject) => {
return User.where('email', useremail)
或者您可以像这样编写您的函数
var verifyEmail = function(useremail) {
return User.forge()
.where('email', useremail)
.fetch()
.then(user => {
if(!user)
return Promise.reject();
return user.toJSON();
})
.catch(err => {
return Promise.reject(new error.ERROR_500(err));
})
})
var recoverPassword = function(req, res) {
var useremail = req.body.email;
//verify email exists
verifyEmail(useremail)
.then(user => {})
.catch(err => {
res.status(err.status).json(err);
})
}