rate-limit-ext
Extended rate limit for axios: set how many requests per interval should perform immediately, other will be delayed automatically. Socket errors on long queues are fixed according to other axios-rate packages.
Installing
npm i rate-limit-ext
Usage
;; //const axiosRate1 = new RateLimitExt(axiosInstance,options);//available options : {// period: default 1000 // calculation period in millisecond// reqLimit: default 18 // max request number for per period// reqPerSecond: default 18 // max request number for per second// countBeforeReq: default false // if it is true , rate calculations will done before sending request , otherwise calculation will done after any response or error received from axios//} // sets max 2 requests per 777 milliseconds, other will be delayed// note reqPerSecond is a shorthand for period: 1000, and it takes precedence ,if specified both with reqPerSecond and period const axiosRate1 = axios period: 777 reqLimit: 2; // dont wait response of sended requests to trigger next requests on queue ,const axiosRate2 = axios period: 777 reqLimit: 2 countBeforeReq: true; //send max 5 request per second , waitsconst axiosRate3 = axios reqPerSecond: 5 ; axiosRate1; // will perform immediatelyaxiosRate1; // will perform immediatelyaxiosRate1; // will perform after 777 milliseconds from one of first 2 requests RESPONSE axiosRate2; // will perform immediatelyaxiosRate2; // will perform immediatelyaxiosRate2; // will perform after 777 milliseconds from first one //------------ axiosRate3; // will perform immediatelyaxiosRate3; // will perform immediatelyaxiosRate3; // will perform immediatelyaxiosRate3; // will perform immediatelyaxiosRate3; // will perform immediatelyaxiosRate3; // will perform after 1000 milliseconds from one of first 5 requests RESPONSE // options hot-reloading also availableaxiosRate3; // sets period to 999 millisecondsaxiosRate3; // 999 axiosRate3; // sets request limit to 2axiosRate3; // 2 axiosRate3; // sets period to 1000 millisecond and request limit to 3axiosRate3; // 1000axiosRate3; // 2
A bit of advertising :-)
As TeamArga , we have been developing javascript, python, c # projects since 2015. Feel free to contact