await build on top of promises and generators to express asynchronous actions inline. This makes asynchronous or callback code much easier to maintain.
Functions with the
async keyword return a
Promise, and can be called with that syntax.
async function the
await keyword can be applied to any
Promise, and will cause all of the function body after the
await to be executed after the promise resolves.
Async functions are a syntactic sugar over promises and generators. They help you make your code more readable, maintainable, easier to catch errors in, and with fewer levels of indentation.