axios-concurrency
v1.0.4
Published
Gives easy control of how many requests an axios instance makes concurrently. Useful for dealing with rate limiting. Implemented using interceptors.
Downloads
50,287
Readme
Axios Concurrency Manager
Get control of concurrent requests of any axios instance. Implemented using axios interceptors
Installing
$ npm install axios-concurrency
Example
const { ConcurrencyManager } = require("axios-concurrency");
const axios = require("axios");
let api = axios.create({
baseURL: "http://mypublicapi.com"
});
// a concurrency parameter of 1 makes all api requests secuential
const MAX_CONCURRENT_REQUESTS = 5;
// init your manager.
const manager = ConcurrencyManager(api, MAX_CONCURRENT_REQUESTS);
// requests will be sent in batches determined by MAX_CONCURRENT_REQUESTS
Promise.all(manyIds.map(id => api.get(`/test/${id}`)))
.then(responses => {
// ...
});
// to stop using the concurrency manager.
// will eject the request and response handlers from your instance
manager.detach()
License
MIT