CNode

express如何在入口文件中处理所有的异常

问答
Ssilenceboychen发布于9 年前最后回复9 年前2 回复4347 浏览0 收藏

在express中使用async/await来控制异步流程,为了防止异常写了很多try/catch,不知道express能否在入口文件中处理所有程序执行过程中抛出的异常。

查看回复

回复 (2)

S
silenceboychen#1·9 年前

已自行解决

Z
zengming00#2·9 年前

本楼正解

function ar(cb: (req: express.Request, res: express.Response, next: Function) => any) {
  return function (req: express.Request, res: express.Response, next: Function) {
    cb(req, res, next).catch((error: any) => {
      next(error);
    });
  }
}

router.get('/', ar(async function(req, res){
// 哈哈
}));

参与回复
登录后即可参与回复。登录