Too Long; Didn't Read
Javascript has two major ways of dealing with asynchronous tasks — callbacks and Promises. In general Promises are considered easier to use and to maintain than callbacks. But in reality even Promises alone won’t make you happy. Asynchronous code may still be quite difficult to read and to understand. Therefore third-party libraries, <a href="https://github.com/tj/co" target="_blank">e.g. co</a>, provided means to write a synchronous-like asynchronous code.