【发布时间】:2020-02-18 20:57:54
【问题描述】:
我在我的函数中使用异步等待。我的控制器级别能够捕获错误,但是当返回到路由级别时。错误不是捕获,只返回数据:{}。我在这里做错了什么?
//route
router.get('/user', auth, async function(req,res){
try{
const userId = req.body.userId
const user = await UserController.getUser(userId)
res.status(200).send({data:user})
}catch(err){
res.status(400).send({message:err})
}
}
//Controller
exports.getUser = async function(userId ){
try{
const user = await User.findOne({_id:userId })
return user
}catch(err){
return err
}
}
【问题讨论】:
-
也许代码没有抛出错误,而是发出事件。只是猜测
-
当我尝试设置断点时,错误显示在控制器级别。但是当将错误返回到 Route 时。不跳转到捕捉