@babybeet/retry
v1.0.0
Published
Convenient utilities to retry executing some operation until success or failure at most 3 times
Downloads
1
Readme
retry
Convenient utilities to retry executing some operation until success or failure at most 3 times.
Table of contents
Installation
npm
npm i -S @babybeet/retry
pnpm
pnpm i -S @babybeet/retry
yarn
yarn add @babybeet/retry
Available APIs
retry
function
To imperatively retry some operation, wrap your function/method call inside retry
as followed:
import { retry } from '@babybeet/retry';
...
const allUsers = await retry(() => fetchAllUsers(), 1000); // Wait 1000ms between retries, default is 3000ms
...
@Retryable
decorator
Alternatively, you can decorate your methods using @Retryable
decorator to add retrying logic to them, be sure that your tsconfig.json
file has experimentalDecorators
setting enabled, for example:
{
"compilerOptions": {
...
"experimentalDecorators": true,
...
},
}
import { Retryable } from '@babybeet/retry';
...
class UserService {
@Retryable(2000) // Wait 2000ms between retries, default is 3000ms
fetchUsers() {
...
}
}
...
When userService.fetchUsers()
is called, any failures will cause it to rerun until either succeeding or failing at most 3 times after the initial failure.