1.1.1 • Published 2 years ago

request-synchronizer v1.1.1

Weekly downloads
-
License
BSD
Repository
github
Last release
2 years ago

request-synchronizer

Request Synchronizer for node.js + express

Применимость

Данный модуль может найти применение в следующих моментах:

  1. Синхронизация тяжеловесных запросов;
  2. Синхронизация последовательных запросов к базе;
  3. Синхронизация запросов при работе с блокчейном.

Работа с модулем

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

Для работы используется глобальный класс RequestSynchronizer и его статический метод resolveRequest

resolveRequest принимает следующие параметры:

  1. reqData: RequestData - RequestData - объявлено в request-synchronizer;
  2. group: string - Название группы запросов. Позволяет поддерживать конкурентность между разными группами запросов.

RequestData состоит из:

  1. func: RequestFunction - RequestFunction - объявлено в request-synchronizer;
    • RequestFunction - функция, принимающая 2 параметра - req: Request и res: Response (express);
  2. req: Request (express);
  3. res: Response (express);
  4. errCallback: errCallback?: (err: any) => any - Функция-обработчик ошибки, принимающая 1 параметр - err: any.

Красота в простоте.