axios-rate-limit

axios 限速。「Rate limit for axios」

Github stars Tracking Chart

axios-rate-limit

npm version
npm downloads
Build Status

A rate limit for axios: set how many requests per interval should perform immediately, other will be delayed automatically.

Installing

yarn add axios-rate-limit

Usage

import axios from 'axios';
import rateLimit from 'axios-rate-limit';

// sets max 2 requests per 1 second, other will be delayed
// note maxRPS is a shorthand for perMilliseconds: 1000, and it takes precedence
// if specified both with maxRequests and perMilliseconds
const http = rateLimit(axios.create(), { maxRequests: 2, perMilliseconds: 1000, maxRPS: 2 })
http.getMaxRPS() // 2
http.get('https://example.com/api/v1/users.json?page=1') // will perform immediately
http.get('https://example.com/api/v1/users.json?page=2') // will perform immediately
http.get('https://example.com/api/v1/users.json?page=3') // will perform after 1 second from the first one

// options hot-reloading also available
http.setMaxRPS(3)
http.getMaxRPS() // 3
http.setRateLimitOptions({ maxRequests: 6, perMilliseconds: 150 }) // same options as constructor

A bit of advertising :-)

Since 2010 run my own software development company Cifronomika. We doing Ruby on Rails and JavaScript development. Feel free to contact

Main metrics

Overview
Name With Owneraishek/axios-rate-limit
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:MIT License
所有者活动
Created At2019-04-20 19:05:46
Pushed At2024-08-07 14:47:33
Last Commit At2024-06-10 08:43:16
Release Count17
Last Release Name1.4.0 (Posted on )
First Release Name0.0.1 (Posted on )
用户参与
Stargazers Count244
Watchers Count2
Fork Count36
Commits Count94
Has Issues Enabled
Issues Count21
Issue Open Count13
Pull Requests Count27
Pull Requests Open Count3
Pull Requests Close Count27
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private