To be honest, async/await blows away whatever you read previously about promises. But hey! You obviously need to know how promises work in order to know how to work with async/await. async/await are built on top of promises; however, once you get used to them, there is no going back to promises (unless, again, you need to convert a callback type API to async/await (you need to use promises for that).)
About async/await:
- It's for asynchronous coding
- It makes code look extremely similar to synchronous coding and thus makes it extremely powerful and easy on the eyes
- It is built on top of promises
- It makes error handling a cake walk. You can finally use try and catch with asynchronous coding!
- ES8 introduced async/await and, by the time you're reading this, it will have been implemented in all browsers natively...