Как ограничить количество асинхронных вызовов в узле js? - PullRequest
0 голосов
/ 24 апреля 2019

Я пытаюсь ограничить количество асинхронных звонков, которые я могу сделать серверу, до 1 звонка в секунду. Я посмотрел на async eachOfLimit, но не уверен, что это правильное решение.

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

1 Ответ

0 голосов
/ 24 апреля 2019

Если вы используете express, вы можете использовать пакет express-rate-limit от npm.Использование ниже -

const rateLimit = require("express-rate-limit");


app.enable("trust proxy"); // only if you're behind a reverse proxy (Heroku, Bluemix, AWS ELB, Nginx, etc)

const limiter = rateLimit({
  windowMs: 60 * 1000, // 1 minute
  max: 1 // limit each IP to 1 requests per windowMs
});

//  apply to all requests
app.use(limiter);
...