Also included are links to posts about Promises and Generators. Together the three give us a rich tapestry of capabilities to simplify asynchronous programming, make our code look cleaner and more robust.
Tips for using async functions (ES2017) An excellent tour of best practices for using async functions.
ES proposal: asynchronous iteration A **proposal** (don't get too excited yet) for asynchronous looping structures.
promise-sequential "Like Promise.all, but sequentially"
The Hidden Power of ES6 Generators: Observable Async Flow Control An in-depth look at Generator functions.
Retrofitting Node/NPM Packages with Async/Await. Rewriting your code to use async/await
Error handling in long Promise chains "The longer the chain the easier it is to break it"
Promises, Promises (or how not to lose your marbles) Some best practices for using Promise's.
Installing Babel V6.x ES7 Async/Await on Node.js v6.2.0 with Nodemon A Stack Overflow question about using Babel to transpile async/await
Node.js Tip - Minimal Babel with Node v6 The precise minimum steps required to setup Babel with Node.js 6.12 to use async/await.