承诺已创建,但未从中返回
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了承诺已创建,但未从中返回相关的知识,希望对你有一定的参考价值。
我试图绕过这个......但无论我把回归放在哪里,我都会得到这个警告......
警告:在home / app / server / node_modules / express / lib / router / index.js:280:7的处理程序中创建了一个promise但是没有从它返回服务器at ._doFetch(/home/app/server/node_modules/bluebird/js/release/method.js:13:13)
module.exports = {
getUser: (req, res) => {
var found_user = User.query({where: {email: req.body.email}, orWhere: {username: req.body.email}}).fetch()
found_user.then(user => {
if (user) {
res.status(200).json(user)
} else {
res.status(422).json(new error.ERROR_422("No user found under username/email"));
}
})
.catch(err => {
console.log(err)
res.status(500).json(new error.ERROR_500(err));
})
}
我正在使用Bookshelf.js,我应该回到这里?
答案
您必须从导出的方法返回承诺,因此可以在外部处理承诺。尝试将其更改为类似的内容
module.exports = {
getUser: (req, res) => {
var found_user = User.query({where: {email: req.body.email}, orWhere: {username: req.body.email}}).fetch()
found_user.then(user => {
if (user) {
res.status(200).json(user)
} else {
res.status(422).json(new error.ERROR_422("No user found under username/email"));
}
})
.catch(err => {
console.log(err)
res.status(500).json(new error.ERROR_500(err));
})
return found_user // <<<--- Add this
}
以上是关于承诺已创建,但未从中返回的主要内容,如果未能解决你的问题,请参考以下文章