Nine Pomeranian Monsters
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    polyfill-promisepublic

    polyfill-promise

    Use this to ensure the Promise constructor is available, even in old versions of node (< 0.12) or browsers

    js-standard-style

    usage

    var Promise = require('polyfill-promise')
    // either native or polyfilled 
     
    var foo = Promise.resolve('foo')
    foo.then(...)

    or

    require('polyfill-promise/register')
    // global Promise constructor is now available 
    var foo = Promise.resolve('foo')
    foo.then(...)

    API

    Promise.polyfilled : Boolean?

    If polyfill is used, this read-only property is set to true. If a native implementation is available, this property is undefined.

    additionally, implements the Promise api. Quick reference:

    class Promise(factory : (resolve: Function, reject: Function) => void)

    Creates a pending promise. Pass it a factory function which wraps the asynchronous operation. factory is called with two functions, reject and resolve which should be called when the asynchronous operation is complete or an exception ocurrs.

    Example: delay a value by an amount of time

    function delay(value, timeout) {
      return new Promise(function (resolve, reject) {
        setTimeout(function () {
          resolve(value)
        }, timeout)
      })
    }

    Example: wrap a node-style callback

    var result = new Promise(function (resolve, reject) {
      asyncFn(function (err, result) {
        if (err) { reject(err); return }
        resolve(result)
      })  
    })

    Promise.reject(reason?: Value) => Promise

    Create a Promise which is immediately rejected with an optional reason.

    Promise.resolve(val?: Value) => Promise

    Create a Promise which is immediately resolved with an optional val.

    Promise.all(promises: Array<Promise>) => Promise<Array>

    Returns a Promise which is resolved when all of the Promises in the promises array are resolved, or rejected if any of them is rejected. The resolved value is an Array of the resolved values in the same order.

    Promise.race(promises: Array<Promise>) => Promise

    Returns a Promise which is resolved as soon as the first Promise in the promises array is resolved, or rejected when the first Promise in the promises array is rejected. Since a Promise can only be either resolved or rejected but not both, if one Promise in promises is resolved and then another one is rejected, the resulting Promise will still be resolved and will ignore the later rejection.

    Promise#then(fn?: (Value) => Value, err: (Value) => Value) => Promise

    Chains a function fn on the Promise to be evaluated when the Promise is resolved. The return value of fn is resolved to a new Promise which allows for chaining and composition.

    An optional second parameter is an error handling function which is called if the Promise is rejected.

    Promise#catch(err: (Value) => Value) => Promise

    Chains an error handling function to a Promise chain which will be called if a Promise is rejected. Returns a new Promise.

    tests

    $ npm test

    contributions

    none yet

    license

    by jden jason@denizac.org, ISC license

    Keywords

    none

    install

    npm i polyfill-promise

    Downloadslast 7 days

    165

    version

    4.0.1

    license

    ISC

    homepage

    github.com

    last publish

    collaborators