kriskowal/q — pull request #61 by kriskowal (2012-04-29 02:55:36+00:00)
Title: Add support for cancelation

Added ``promise.cancel()``, ``Q.defer(canceler)`` argument and
``promise.cancelable(canceler)`` interface for making it possible to
support per-promise unregistration of interest in a promise resolution.
Cancelation is ignored by default. Cancelation does not reject the
promise. A cancelable promise should be constructed for each
independent receiver of a promise to guarantee that cancelation is not
observable and will not interfere with other receivers of a promise.

WARNING: Because cancelation must be handled with care in
security-concious situations, this feature may be removed for the good
of us all in a future major version. Be excellent to each other.