Skip to content

emojiiii/retry-promise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

retry-promise

Retrying failed promises and break promises at any time

Installation

npm instal --save-dev @emojiiii/retry-promise
yarn add @emojiiii/retry-promise
pnpm add @emojiiii/retry-promise

Example

Base Usage

import {retryPromiseFactory} from '@emojiiii/retry-promise'

let counter = 0
let promise = retryPromiseFactory(() => {
      counter += 1;
      if (counter === 3) {
          return Promise.resolve('success');
     } else {
        return Promise.reject('fail')
     }
})

promise().then(() => {
  console.log('Operation succeeded!')
}).catch((err) => {
   console.log('err: ', err)
})

MaxRetries

import {retryPromiseFactory} from '@emojiiii/retry-promise'

let counter = 0
let promise = retryPromiseFactory(() => {
      counter += 1;
      if (counter === 3) {
          return Promise.resolve('success');
     } else {
        return Promise.reject('fail')
     }
}, {
  maxRetries: 5,
  retryDelayType: 'exponential',
  maxRetryDelay: 60000
})

promise().then(() => {
  console.log('Operation succeeded!')
}).catch((err) => {
   console.log('err: ', err)
})

retryDelayType

import {retryPromiseFactory} from '@emojiiii/retry-promise'

let counter = 0
let promise = retryPromiseFactory(() => {
      counter += 1;
      if (counter === 3) {
          return Promise.resolve('success');
     } else {
        return Promise.reject('fail')
     }
}, {
  maxRetries: 5,
  retryDelayType: 'fixed',
  retryDelay: 1000
})

promise().then(() => {
  console.log('Operation succeeded!')
}).catch((err) => {
   console.log('err: ', err)
})

Abort promise

import {retryPromiseFactory} from '@emojiiii/retry-promise'

let counter = 0
let promise = retryPromiseFactory(() => {
      counter += 1;
      if (counter === 3) {
          return Promise.resolve('success');
     } else {
        return Promise.reject('fail')
     }
})

promise().then(() => {
  console.log('Operation succeeded!')
}).catch((err) => {
   console.log('err: ', err)
})

promise.abort('abort')

License

retry-promise is open source software licensed as MIT

About

Retrying failed promises and break promises at any time

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published