Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

25 Commits

Repository files navigation

tryfunc

NPM versionDownloadsDependency statusDev Dependency status

tryCall: try invoking the function until it runs without throwing. Returns the value returned by the function.

tryUntil: try invoking the function until the returned value satisfies the provided validating function. Returns the value returned by the function.

Arguments:

  • func: the function to invoke with the iteration as a parameter
  • (only in tryUntil) validate: the validating function. Stops executing once the validator returns true.
  • Options object:
    • numAttempts: the number of iterations
    • interval: the interval between each attempt
    • onAttempt (optional): the function to invoke after each attempt

Installation

npm install --save tryfunc

Usage

Basic usage:

import{tryCall,tryUntil}from'tryfunc'functionthrowingFunction(){// ...}asyncfunctionfoo(){// try calling functiontry{constval=awaittryCall(throwingFunc,{interval: 100,numAttempts: 10,onAttempt: (err,i,success)=>{if(err){console.error(err)}console.log(`attempt ${i}${success ? 'was successful' : 'failed'}`)},})console.log('val',val)}catch(err){console.error('function timed out')}// repeat untiltry{constval=awaittryUntil(()=>Math.random(),(val)=>val<0.1,{interval: 100,numAttempts: 10,onAttempt: (result,i,success)=>{console.log('received',result)console.log(`attempt ${i}${success ? 'was successful' : 'failed'}`)},},)console.log('val',val)}catch(err){console.error('no value smaller than 0.1 produced')}}

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages