Understand the differences between synchronous and asynchronous programming
Explain the different ways developers address issues presented with asynchronous programming
Create and Consume Promises
Handle errors generated from promises
Use Async / Await to improve readability of asynchronous code