Async is a utility module for node.js (although it can also be used in the browser) that provides powerful functions for working with asynchronous JavaScript
Async provides around 20 functions that include the usual 'functional' suspects (map, reduce, filter, each...) as well as some common patterns for asynchronous control flow (parallel, series, waterfall...).
All these functions assume you follow the node.js convention of providing a single callback as the last argument of your async function.