Promise

A promises utility to be used by any utility that performs asynchronous
operations. This implementation is compliant with the
Promises A+ spec, a standard
written by members of the JavaScript community.

Create promises by calling the Y.Promise constructor. Inherit from the Y.Promise
constructor to return customized promises that have extra methods. The then
method returns a promise based on its constructor, so extended promises will
return the right promise type from then.