nd-promise
v3.1.0
Published
:two_hearts: Lightweight promise polyfill. A+ compliant. Implements notify, progress, and finally.
Downloads
28
Readme
ND-PROMISE
:two_hearts: Lightweight ES6 Promise polyfill for the browser and node. Adheres closely to the spec. It is a perfect polyfill IE, Firefox or any other browser that does not support native promises.
This implementation is based on taylorhakes/promise-polyfill and then/promise. It has been changed to use the prototype for performance and memory reasons.
For API information about Promises, please check out this article HTML5Rocks article.
Browser Support
IE8+, Chrome, Firefox, IOS 4+, Safari 5+, Opera
Change Log
New in 3.0.3
Remove function bind; use rollup instead of webpack
New in 3.0.2
IE8 compatibility
New in 2.4.0
Rewrite core and test with ES6
New in 2.3.0
new Promise(function(resolve, reject, notify) {
// resolve, reject, notify
}).then(function(value) {
// do something
}).catch(function(error) {
// do something
}).progress(function(value) {
// do something
}).finally(function() {
// do something
})
New in 2.2.0
new Promise(function(resolve, reject, notify) {
notify(40)
setTimeout(function() {
notify(55)
}, 50)
}).progress(function(value) {
console.log(value)
})
Usage
cjs
$ npm install nd-promise
iife
Example
const prom = new Promise(function(resolve, reject) {
// do a thing, possibly async, then…
if (/* everything turned out fine */) {
resolve("Stuff worked!");
} else {
reject(new Error("It broke"));
}
});
// Do something when async done
prom.then(function() {
...
});
Testing
npm install
npm test
License
MIT