Who can list in the most concise terms the main differences between the Async library's method of handling asynchrony and that of the rising standard Promises?
The main difference I can think of is the following: The Async library is still based on callbacks, whereas Promises provides a completely different interface, where the async process has state (i.e. resolved/rejected) and you can essentially listen for these states as if it were an event emitter.
Are there other key differences? What's a good example of a case in which Promises are needed and the Async library is wholly inadequate?