myfetchapi
A simple fetch wrapper with concurrency control and retry functionality.
Installation
You can install this package via npm:
npm install myfetchapi
yarn add myfetchapi
bun add myfetchapi
Usage
const { myFetch, SET_MAX_CONCURRENT_REQUESTS } = require("myfetchapi");
SET_MAX_CONCURRENT_REQUESTS(100);
myFetch(
"https://example.com/api/data",
{ method: "GET" },
{
maxRetry: 5 ,
}
)
.then((response) => console.log(response))
.catch((error) => console.error(error));
API
myFetch
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) requestoptions
(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.
retryCondition
(optional): function - Function to override and set your own condition for retrying.
- Parameters:
res
: HTTP(S) Response object.
- Returns: boolean | Promise
- Returns: Promise
SET_MAX_CONCURRENT_REQUESTS
Function to set the maximum number of concurrent requests.
- Parameters:
max
: number - The maximum number of concurrent requests.
License
This project is licensed under the MIT License