Introduced in ES2017(ES8), async functions make working with promises much easier. It is important to note the async functions work on top of promises. They are not a fundamentally different concept. They can be thought of as an alternate way of writing promise-based code. We can avoid chaining promise altogether using async/await.