So far, we have discussed callback patterns and how using promises gives your code that badly needed sense of order. Writing asynchronous code isn't just about stopping yourself from drowning in messy code, it's about being productive as well. Libraries exist out there that will make you really productive if you mean business about taking asynchronous coding head on. The best known libraries at the time of writing are:
- Async: This is by far the best known. It can be found at https://caolan.github.io/async/.
- Step: This library sells itself as a library that will help you with serial execution, parallel execution, and promises to make error handling painless. It can be found at https://github.com/creationix/step.
- Node fibers: This is a very different library than the first two and can be thought of more as bringing a light-thread support to JavaScript...