Można to zrobić za pomocą request-rate-limiter
pakiet. Możesz więc dodać to do swojego kodu :
var RateLimiter = require('request-rate-limiter');
const REQS_PER_MIN = 25 * 60; // that's 25 per second
var limiter = new RateLimiter(REQS_PER_MIN);
i ponieważ request-rate-limiter
opiera się na request
możesz po prostu zastąpić request
z limiter.request
Więcej informacji można znaleźć na stronie npm pakietu — https://www.npmjs. com/package/request-rate-limiter
Prywatnie – zamieniłbym wszystkie te wywołania zwrotne na obietnice