Description: | Q is a tool for making and composing asynchronous promises in JavaScript.
If a function cannot return a value or throw an exception without blocking,
it can return a promise instead. A promise is an object that represents the
return value or the thrown exception that the function may eventually provide.
A promise can also be used as a proxy for a remote object to overcome latency.
Q can exchange promises with jQuery, Dojo, When.js, WinJS, and more.
Additionally, there are many libraries that produce and consume Q promises for
everything from file system/database access or RPC to templating. |