jarchibald/ES6-Promises does everything this library was set out to do.
A Minimal, fully Promises/A+ compliant library.
Promises/A+ spec here: http://promisesaplus.com/
promise()
- Creates a promise. Can pass an optionalobj
argument. If passed, promise methods are attached to passed object.promise.isPromise(obj)
- Uses duck-typing to check whether the given object is a 'promise' (does it have athen
method?)promise.avow(fn)
- wrap a function in a promise. Use like so:
var add = promise.avow(function (fulfill, reject, a, b) {
if (a <= 2 && b <= 2) {
fulfill(a + b);
} else {
reject('Math is hard.');
}
});
add(1, 1).then(console.log);
then(onFulfill, onReject)
- bind fulfillment/rejection handlers to the promise. Returns a promise objectfulfill(value)
- fulfills the promise with the passed value.reject(reason)
- rejects the promise with the passed reason.
For all behaviors, see the spec.