Another ES6 promise implementation (compliant with Promises/A+)
Installation
npm install parole
# alternatively you can use bower (minified version by default)
yarn add paroleES6 fulfill
Paroleimplements ES6 Promise specs
Implements:
- Promise.prototype.then
- Promise.prototype.catch
- Promise.prototype.finally
Also static methods
- Promise.resolve
- Promise.reject
- Promise.all
- Promise.allSettled
- Promise.any
- Promise.race
Includes:
- Promise.defer
// parole respects the es6 promise specification // you can use parole as global polyfill if( !window.Promise ) { window.Promise = Parole; }
Example
new Parole((resolve, reject) => { resolve('gogogo!') }) .then((result) => { console.log('checkpoint 1', result) throw 'whoops!' }) .then( (result) => { console.log('checkpoint 2', result) }, (result) => { console.log('checkpoint 2.1', result) return new Parole((resolve, reject) => { setTimeout(() => resolve('all right!'), 400) }) }, ) .then( (result) => console.log('checkpoint 3', result), (reason) => console.log('checkpoint 3.1', reason), ) ;
output
checkpoint 1 gogogo! checkpoint 2.1 whoops! # elapsed 400ms checkpoint 3 all right!