shichen b6c5ecc67a init 10 kuukautta sitten
..
dist b6c5ecc67a init 10 kuukautta sitten
lib b6c5ecc67a init 10 kuukautta sitten
README.md b6c5ecc67a init 10 kuukautta sitten
license.md b6c5ecc67a init 10 kuukautta sitten
lie.d.ts b6c5ecc67a init 10 kuukautta sitten
package.json b6c5ecc67a init 10 kuukautta sitten
polyfill.js b6c5ecc67a init 10 kuukautta sitten

README.md

lie

<img src="http://promises-aplus.github.com/promises-spec/assets/logo-small.png"

   alt="Promises/A+ logo" title="Promises/A+ 1.1 compliant" align="right" />

Build Status

lie is a small, performant promise library implementing the Promises/A+ spec (Version 1.1).

Originally a fork of Ruben Verborgh's promiscuous, with version 2.6 it became a fork of ayepromise by Chris Burgmer.

npm install lie

var Promise = require('lie');
// or use the pollyfill
require('lie/polyfill');

Usage

Either use it with browserify (recommended) or grab one of the files from the dist folder:

  • lie.js/lie.min.js exposes 'Promise' either as a UMD module or from the global scope, depending on if a CJS or AMD loader is available.
  • lie.polyfill.js/lie.polyfill.min.js adds 'Promise' to the global scope only if it's not already defined (not a UMD).

API

Implements the standard ES6 api:

new Promise(function(resolve, reject){
    doSomething(function(err, result) {
        if (err) {
            reject(err);
        } else {
            resolve(result);
        }
    });
}).then(function (value) {
    //on success
}, function (reason) {
    //on error
}).catch(function (reason) {
    //shortcut for error handling
});

Promise.all([
    //array of promises or values
]).then(function ([/* array of results */]));

Promise.race([
    //array of promises or values
]);
// either resolves or rejects depending on the first value to do so

Unhandled Rejections

In Node.js, lie emits an unhandledRejection event when a rejected promise isn't caught, in line with how io.js does it. This allows it to act as a promise shim in both Node.js and the browser.