resolve-chain
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

resolve-chain

Chains pending promises and captures resolved return values

Usage

import ResolveChain from 'resolve-chain'
 
const createPromise = (value) => new Promise((resolve) => resolve(value))
 
const chain = new ResolveChain()
chain.add(createPromise('hello'))
chain.add(createPromise('world'))
let values = await chain.values() // ['hello', 'world']
 
chain.add(createPromise('group'))
values = await chain.values() // ['group']
 
/**
 * Handle errors from promise
 */
const error = Promise.reject('error')
chain.add(error, (err) => {
  console.log('Oh no some big ol error', err)
})
values = await chain.values() // []
 
/**
 * Return a default value on error
 */
const promise = Promise.reject('error')
  .catch((err) => {
    return 'some default value'
  })
chain.add(promise)
values = await chain.values() // ['some default value']

Package Sidebar

Install

npm i resolve-chain

Weekly Downloads

35

Version

1.0.1

License

MIT

Unpacked Size

9.61 kB

Total Files

10

Last publish

Collaborators

  • gabemeola