Categories
JavaScript Answers

How to throttle and queue up API requests due to per second cap with Node.js?

Spread the love

Sometimes, we want to throttle and queue up API requests due to per second cap with Node.js.

In this article, we’ll look at how to throttle and queue up API requests due to per second cap with Node.js.

How to throttle and queue up API requests due to per second cap with Node.js?

To throttle and queue up API requests due to per second cap with Node.js, we can use the node-rate-limiter package.

To install it, we run

npm i limiter

Then we use it by writing

const { RateLimiter } = require("limiter");

const limiter = new RateLimiter({ tokensPerInterval: 150, interval: "hour" });
const throttledRequest = async (...args) => {
  const remainingRequests = await limiter.removeTokens(1);
  callMyMessageSendingFunction(...args);
};

to create a RateLimiter instance with { tokensPerInterval: 150, interval: "hour" } to allow 150 requests her hour.

Then we create the throttledRequest function that calls limiter.removeTokens with 1 and a callback that calls callMyMessageSendingFunction to return a function that throttles the request calls to 150 her hour.

Conclusion

To throttle and queue up API requests due to per second cap with Node.js, we can use the node-rate-limiter package.

By John Au-Yeung

Web developer specializing in React, Vue, and front end development.

Leave a Reply

Your email address will not be published. Required fields are marked *