Async/Await Functions in JavaScript

JavascriptFront End TechnologyObject Oriented Programming

The Promise object represents the eventual completion (or failure) of an asynchronous operation, and its resulting value. Async await function and operators work on promises.

Async/await functions help us to write completely synchronous-looking code while performing async tasks behind the scenes.

For example, let us say we have a asynchronous function that returns a promise −

// Promise that resolves to 100 after 2sec
function getHundred() {
   return new Promise(resolve => {
      setTimeout(() => {
      },    2000);

We want to use this in a function, but we need to wait for the return value. Using callbacks we can do this in the following way −

function useGetHundred() {
   getHundred().then((value) => {

But we need to unnecessarily need to create a callback to execute on the returned data. We can instead use async await to simplify this code −


// Declare an async function. When this function is called, it'll also return a Promise
// But inside this function any async calls can be made synchronous using await keyword
async function useGetHundredAsync() {
   // wait for the getHundred promise to resolve then store its value in value.
   let value = await getHundred();


Updated on 17-Sep-2019 08:47:56