Gives easy control of how many requests an axios instance makes concurrently. Useful for dealing with rate limiting. Implemented using interceptors.
npm install axios-concurrencyGet control of concurrent requests of any axios instance.
Implemented using axios interceptors
``bash`
$ npm install axios-concurrency
`js
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()
``
MIT