Esto podría hacerse usando el request-rate-limiter
paquete. Entonces puedes agregar esto a tu 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);
y desde request-rate-limiter
se basa en request
simplemente puede reemplazar request
con limiter.request
Puede encontrar más información en la página npm del paquete:https://www.npmjs. com/package/request-rate-limiter
A título personal:reemplazaría todas estas devoluciones de llamada con promesas