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']

Dependencies (0)

    Dev Dependencies (3)

    Package Sidebar

    Install

    npm i resolve-chain

    Weekly Downloads

    0

    Version

    1.0.1

    License

    MIT

    Unpacked Size

    9.61 kB

    Total Files

    10

    Last publish

    Collaborators

    • gabemeola