Open In App

JavaScript async function expression

Improve
Improve
Like Article
Like
Save
Share
Report

An async function expression is used to define an async function inside an expression in JavaScript. The async function is declared using the async keyword. 

Syntax: 

async function [function_name]([param1[, param2[, ..., paramN]]]) {
    // Statements
}

Parameters:  

  • function_name: This parameter holds the function name. This function name is local to the function body. If the function name is omitted then it becomes an anonymous function.
  • paramN: It is the name of the parameter that is to be passed into the function.
  • Statements: It contains the body of the function.

Return Value: It returns a promise to return the value or else throws an exception, whenever an error occurs.

Example 1: In this example “GeeksforGeeks” is printed first and after an interval of 1000 ms, “GFG” is printed.

javascript




function cb() {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve("GFG")
        }, 1000)
  
    })
}
async function course() {
    console.log("GeeksforGeeks");
    const result = await cb();
    console.log(result);
}
  
course();


Output: 

GeeksforGeeks
GFG

Example 2: Here, a file is made gfg.txt and as soon as the file is read it prints “Read the file” in the console. Else it prints an “error” when either the location of the file is wrong or it is not unable to read the file due to any other reason.  

javascript




async function gfg() {
    try {
        let f1 = await fs.promises.readFile("gfg.txt")
        console.log("Read the file")
    }
    catch (err) {
        console.log("error");
    }
}
gfg();


Output: 

  • When the file read: 
Read the file
  • When a file is not read(error thrown) 
error

Example 3: This is an example of an async function working in parallel. 

javascript




function cb() {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve("GFG")
        }, 2000)
  
    })
}
  
function cb1() {
    return new Promise(function (resolve, reject) {
        setTimeout(function () {
            resolve("GFG1")
        }, 1000)
  
    })
}
  
async function course() {
    console.log("GeeksforGeeks");
    const result1 = await cb1();
    const result = await cb();
    console.log(result1);
    console.log(result);
}
  
course();


Output: 

GeeksforGeeks
GFG1
GFG

Supported Browsers: 

  • Google Chrome 55 and above
  • Edge 15 and above
  • Firefox 52 and above
  • Safari 10.1 and above
  • Opera 42 and above


Last Updated : 31 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads