【发布时间】:2020-06-20 20:38:11
【问题描述】:
我有这个错误处理程序,它可以根据发生的情况检索特定的错误消息。但问题是当我使用 .catch() 运行我的错误处理函数时,如果我登录到节点控制台,它会起作用,但是当我尝试通过 res.json() 将它发送到客户端时,它只会发送状态代码,而不是我的错误处理程序的任何部分。
function errorHandler(error){
if (error.name === 'SequelizeValidationError') {
const errors = error.errors.map(err => err.message);
return errors;
} else {
throw error;
}
}
router.post('/create', async(req, res) => {
await Movie.create(req.body)
.then(() => res.json("Movie Created"))
.catch( err => res.status(401).json(errorHandler(err)) );
});
这是我的错误处理程序代码和我正在谈论的路线。它在节点控制台中工作,但就像我说的那样,它只将状态 401 代码发送给客户端,没有别的。如何将我的错误消息也发送给客户端?
谢谢!
【问题讨论】:
标签: javascript node.js api express