Isso poderia ser feito usando o
request-rate-limiter
pacote. Então você pode adicionar isso ao seu código:var RateLimiter = require('request-rate-limiter');
const REQS_PER_MIN = 25 * 60; // that's 25 per second
var limiter = new RateLimiter(REQS_PER_MIN);
e desde
request-rate-limiter
é baseado em request
você pode apenas substituir request
com limiter.request
Você pode encontrar mais informações na página npm do pacote - https://www.npmjs. com/package/request-rate-limiter
Em uma nota pessoal - eu substituiria todos esses retornos de chamada por promessas