lie
[![Build Status](https://travis-ci.org/calvinmetcalf/lie.svg)](https://travis-ci.org/calvinmetcalf/lie)
lie a small, performant, promise library implementing the Promises/A+ spec Version 1.1.
A originally a fork of Ruben Verborgh's library called promiscuous, version 2.6 and above are forked from ayepromise by Chris Burgmer.
npm install lie
var Promise = require('lie');
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 makes 'Promise' available in global scope (or since it's a UMD
Promise
will be available through a CJS or AMD loader if it's available instead) - 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) {
}, function (reason) {
}).catch(function (reason) {
});
Promise.all([
]).then(function ([]));
Promise.race([
]);
Unhandled Rejections
In node lie emits unhandledRejection
events when promises are not handled in
line with how iojs does so
meaning it can act as promise shim in node as well as the browser.