Express.js抛出异常并返回预定义的状态代码

时间:2017-04-30 18:30:37

标签: javascript node.js express exception

在Spring中,我使用define我自己的类扩展Exception@ResponseStatus注释它以在特定情况下抛出它以返回用户特定的状态代码和错误消息。我想在Express.js Node.js中做类似的事情。有可能吗?

现在我使用QloginService返回被拒绝的承诺,并明确返回响应代码和消息。

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中实现它?会有效吗?

0 个答案:

没有答案