Устранить повторяющиеся операторы try catch в асинхронных обратных вызовах маршрутизации? - PullRequest
0 голосов
/ 30 мая 2019

У меня есть API, написанный на Node JS с Express.Все мои маршруты следуют этой схеме:

router.get("/my/url", async (req, res) => {
  try{
    // await code...
  }catch(error){
    console.error(error.message);
    res.status(500).json({message: "Server Error"})
  }
});

Эта попытка улова одинакова на всех моих маршрутах.Какими способами я могу отрицать это, написав это только в одном месте, поэтому мои маршруты больше похожи на:

router.get("/my/url", async (req, res) => {
  // await code...
});

1 Ответ

1 голос
/ 30 мая 2019

Вы должны оформить заказ express-async-errors

Импортируйте пакет после express, и тогда вам нужно только определить обработчик ошибок, как этот

app.use((err, req, res, next) => {
    console.error(err.message);
    res.status(500).json({message: "Server Error"})
});
...