在Spring中,我使用define我自己的类扩展Exception
用@ResponseStatus
注释它以在特定情况下抛出它以返回用户特定的状态代码和错误消息。我想在Express.js
Node.js
中做类似的事情。有可能吗?
现在我使用Q
从loginService
返回被拒绝的承诺,并明确返回响应代码和消息。
router.post('/log-in', jsonParser, (req, res) => {
loginService.authenticate(req.body.userLogin, req.body.userPassword)
.then((successLogin)=>{
res.json(successLogin);
}, function (error) {
res.status(error.code).json({message: error.reason});
})
});
但我的目标是只处理已解决的promises并在发生错误时抛出。
之类的东西router.post('/log-in', jsonParser, (req, res) => {
loginService.authenticate(req.body.userLogin, req.body.userPassword)
.then((successLogin)=>{
res.json(successLogin);
})
});
我想像服务一样投掷
if(!user) new Error(404, 'Cannot find user')
并且返回给用户的响应将具有所需的代码和消息。是否可以在Node中实现它?会有效吗?