A simple fetch wrapper with concurrency control and retry functionality.
You can install this package via npm:
npm install myfetchapi
yarn add myfetchapi
bun add myfetchapi
const { myFetch, SET_MAX_CONCURRENT_REQUESTS } = require("myfetchapi");
// Set maximum concurrent requests. default is 500
SET_MAX_CONCURRENT_REQUESTS(100);
// Make a request
myFetch(
"https://example.com/api/data",
{ method: "GET" },
{
maxRetry: 5 /* default is 3. To disable retries, set it to `null` or `0` */,
}
)
.then((response) => console.log(response))
.catch((error) => console.error(error));
The main function to make HTTP requests.
- Parameters:
-
input
: RequestInfo - The URL or Request object. -
init
(optional): RequestInit - The request Options for the HTTP(S) request -
options
(optional): myFetchOptions - Additional options.-
useNodeFetch
(optional): boolean - Set to true to use Node.js Options, e.g., agents. -
maxRetry
(optional): number | null - How many times a request will retry if it failed. Default is 3. -
retryCb
(optional): function - Callback function that is called when the HTTP(S) request is retrying.- Parameters:
-
err
: Error object. -
count
: Retry count. -
max
: Max retry count.
-
- Parameters:
-
retryCondition
(optional): function - Function to override and set your own condition for retrying.- Parameters:
-
res
: HTTP(S) Response object.
-
- Returns: boolean | Promise
- Parameters:
-
-
- Returns: Promise
Function to set the maximum number of concurrent requests.
- Parameters:
-
max
: number - The maximum number of concurrent requests.
-
This project is licensed under the MIT License