Skip to content
Creeper edited this page Feb 21, 2016 · 1 revision

The library's API is absolutely consistent with official API.

Supported APIs:

new Promise(executor)

http://devdocs.io/javascript/global_objects/promise

then(onFulfilled, onRejected)

http://devdocs.io/javascript/global_objects/promise/then

catch(onRejected)

http://devdocs.io/javascript/global_objects/promise/catch

Promise.resolve(value)

http://devdocs.io/javascript/global_objects/promise/resolve

Promise.reject(reason)

http://devdocs.io/javascript/global_objects/promise/reject

Promise.all(array)

http://devdocs.io/javascript/global_objects/promise/all

Promise.race(array)

http://devdocs.io/javascript/global_objects/promise/race

Promise.deferred|Promise.defer

This API is not official, but it's common and useful. It's somewhat like AngularJS's $q.defer() or jQuery's jQuery.Deferred().

// currently the related promise `deferred.promise` is still pending
var deferred = Promise.deferred();
// then you can resolve or reject the promise
deferred.resolve(value); // deferred.reject(reason);
// and promise is now fulfilled/rejected
deferred.promise;

As chrome use Promise.defer as official API, Promise.defer is added to module(alias of Promise.deferred).