An implementation of Promises/A+ using ES6, and Chinese specification of Promises/A+.
npm i a-promise-lib
let Promise = require('a-promise-lib')
let promise = new Promise((resolve, reject) => {
setTimeout(resolve, 1000, 'Success')
}).then(res => {
console.log(res)
return Promise.resolve('Yeah')
})
;(async () => {
const ret = await promise
console.log(ret)
})()
This library has achieved all the APIs same as JavaScript Standard built-in Promise, including static methods:
Promise.resolve
Promise.reject
Promise.all
Promise.race
and prototype methods:
Promise.prototype.then
Promise.prototype.catch
Promise.prototype.finally
and others:
Promise.deferred
Promise.prototype.done
Refer to Promises/A+ Compliance Test Suite.
npm run test
Result like this:
872 passing (17s)
The MIT License