Function promiseFactory

  • Convert an object to a promise like api

    Type Parameters

    • T extends object

    Parameters

    • original: T

      original object

    • resolver: () => Promise<any>

      resolver function

    Returns T & PromiseLike<T>

    • result
    import { promiseFactory, waiting } from 'js-cool'

    function promise() {
    const stats = {
    value: 100
    }

    const resolver = () =>
    new Promise(resolve =>
    waiting(2000).then(() => {
    stats.value = 200
    resolve(stats)
    })
    )

    return promiseFactory(stats, resolver)
    }

    const res = promise() // res => 100
    const res = await promise() // res => 200

    5.10.0