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.
The Q module can be loaded as:
• A tag (creating a Q global variable): ~2.5 KB minified and gzipped.
• A Node.js and CommonJS module, available in npm as the q package
• An AMD module
• A component as microjs/q
• Using bower as q#1.0.1
• Using NuGet as Q
Q can exchange promises with jQuery, Dojo, When.js, WinJS, and more.
There are no reported vulnerabilities