How is this different from the async library? Are they both trying to solve the same problem or are they complementary? https://github.com/caolan/async
Promises are a different abstraction of async operations. I am still trying to wrap my head around them fully, but one of the advantages seems to be writing code that looks a little more sequential.