Это руководство поможет вам добавить глобальные обработчики ответов об ошибках и успехах в ваше приложение Node.js.

Введение

Как мы все знаем, JavaScript поддерживает концепцию исключений. JavaScript может «генерировать» и «перехватывать» исключения в блоках try-catch, как и большинство обычных языков с возможностями обработки исключений, таких как Java и C++.

try {     
    // handle business logic here
    // throw exception from here if any
} catch(exception) {
  // catch & handle exception here
}

Но, как мы все знаем, наш код содержит множество блоков try-and-catch, и мы непреднамеренно пишем отдельный код для обработки одинаковых или разных типов ошибок. Кроме того, в Node.js мы пишем код для каждого метода контроллера, чтобы отправить ответ об успехе или неудаче.

Для решения подобных проблем нам нужен единый централизованный способ решения широкого круга ситуаций.

Пожалуйста, найдите ниже список проблем без централизованного механизма для обработки ошибок и успешного ответа.

  1. Повторение кода
  2. Задача добавления дополнительных функций к существующему коду (например, шифрование/дешифрование)
  3. Нет общих паттернов, поведения и реакции

Выполнение

Если вы ищете готовый, легкий шаблон с необходимыми функциями, загляните в мой нижеприведенный репозиторий, который уже используют многие разработчики.



1. Глобальный обработчик ошибок

Мы собираемся использовать промежуточное ПО Node.js, чтобы зафиксировать ошибку в одном месте.

Шаг 1. Создайте экспресс-заявку

Шаг 2. Создайте и добавьте промежуточное ПО для обработки ошибок и его реализацию

Шаг 3 — выдать ошибку из приложения, чтобы протестировать наш код

2. Глобальный обработчик успешного ответа

Мы собираемся создать базовый класс с реализацией обработчика ответов и вызвать его в производном классе экспресс-контроллера для реализации API.

Шаг 1. Создайте базовый класс

Мы определим абстрактный метод для регистрации маршрутов для каждого контроллера и общедоступный метод отправки с его реализацией в этом классе.

Шаг 2. Получение класса BaseApi из класса контроллера

export default class SystemStatusController extends BaseApi {}

Шаг 3. Вызовите метод отправки базового класса, используя ключевое слово super.

Рекомендации



Спасибо за прочтение. Пожалуйста, поделитесь своими комментариями и похлопайте, если этот блог принес пользу вашему обучению.

Подпишитесь на меня в Twitter и LinkedIn.

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord . Заинтересованы в хакинге роста? Ознакомьтесь с разделом Схема.