2020-04-09 express中间件学习

中间件格式:

//全局
app.use((req,res,next)=>{
  next()//放行,执行下边的路径访问
})
//带路径,只过滤这个路径的访问
app.use('/login',(req,res,next)=>{
  next()
})

中间件应用:

  • 404处理:
app.use((req,res,next)=>{
  res.status(404).send('404 not found')
})
  • 500处理;
app.use((err,req,res,next)=>{
  res.status(500).send(err.message)
})
//触发方法:
1.在上边的路径请求中判断并抛出error:throw new Error('error message')
2。异步处理无法触发要使用next():在异步处理中将err信息放在next()中即可在发生错误时触发500中间件
3.使用trycatch捕获异常
**trycatch可以捕获同步函数错误异步函数错误但是不能捕获其他错误,如promise对象错误,回调函数错误
app.get('/',async(req,res,next)=>{
  try{
    await user.find({name:'zhangsan'})
  }  catch(ex){
    next(ex)
  }
})
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容