express中使用domain捕获全局异常,node服务不会挂,返回给前端500状态码

const domain = require('domain')

  //引入一个domain的中间件,将每一个请求都包裹在一个独立的domain中
  //domain来处理异常
  app.use(function (req, res, next) {
    const domainInstance = domain.create()
    //监听domain的错误事件
    domainInstance.on('error', function (err) {
      res.send({
        code: 500,
        data: {
          stack: err.stack
        },
        message: '服务异常'
      })
    })

    // domainInstance.add(req)
    // domainInstance.add(res)
    domainInstance.run(next)
  })

参考链接:

https://www.rokub.com/55356.html

 

猜你喜欢

转载自blog.csdn.net/xutongbao/article/details/125641858