request-synchronizer
v1.1.1
Published
Request Synchronizer for node.js + express
Downloads
2
Readme
request-synchronizer
Request Synchronizer for node.js + express
Применимость
Данный модуль может найти применение в следующих моментах:
- Синхронизация тяжеловесных запросов;
- Синхронизация последовательных запросов к базе;
- Синхронизация запросов при работе с блокчейном.
Работа с модулем
Модуль работает, как некая очередь для синхронизации запросов. Очередь, в данном случае, реализована через цепочку автоматически исполняемых промисов, что позволяет не нагружать оперативную память, как в случае с рекурсией, и вписывается в общую модель конкурентности JS.
Для работы используется глобальный класс RequestSynchronizer и его статический метод resolveRequest
resolveRequest принимает следующие параметры:
- reqData: RequestData - RequestData - объявлено в request-synchronizer;
- group: string - Название группы запросов. Позволяет поддерживать конкурентность между разными группами запросов.
RequestData состоит из:
- func: RequestFunction - RequestFunction - объявлено в request-synchronizer;
- RequestFunction - функция, принимающая 2 параметра - req: Request и res: Response (express);
- req: Request (express);
- res: Response (express);
- errCallback: errCallback?: (err: any) => any - Функция-обработчик ошибки, принимающая 1 параметр - err: any.
Красота в простоте.