Как реализовать остановку выполнения

Это отрывок кода из проекта. В случае если в метод передан некорректный id он будет обработан неоднократно - сначала в if(...) { ... } а затем в next(err). Это происходит потому, что после обработки ошибки в if-блоке не происходит остановка выполнения. Подскажите как правильно реализовать остановку выполнения. Насколько я понимаю, остановка должна происходить после next(new UnauthError("Неверно введен id"));

module.exports.getUser = (req, res, next) => {
  User.findById(req.user._id)
    .then((user) => {
      if (!user) {
        throw new NotFoundError("Нет пользователя с таким id");
      } else {
        res.send(user);
      }
    })
    .catch((err) => {
      if (err.kind === "ObjectId") {
        next(new UnauthError("Неверно введен id"));
      }
      next(err);
    });
};


Ответы (0 шт):