co
The ultimate generator based flow-control goodness for nodejs
co is a small Node.js library that popularized generator-based coroutines to write asynchronous code that looks synchronous. By yielding promises (or thunks) inside a generator function, co resumes execution when the asynchronous work completes, eliminating deeply nested callbacks. It supports yielding arrays or objects of promises to run tasks concurrently, and it propagates errors naturally through try/catch, making control flow easier to reason about. The library arrived before...