Syntax for an async arrow function Syntax for an async arrow function javascript javascript

Syntax for an async arrow function


Async arrow functions look like this:

const foo = async () => {  // do something}

Async arrow functions look like this for a single argument passed to it:

const foo = async evt => {  // do something with evt}

Async arrow functions look like this for multiple arguments passed to it:

const foo = async (evt, callback) => {  // do something with evt  // return response with callback}

The anonymous form works as well:

const foo = async function() {  // do something}

An async function declaration looks like this:

async function foo() {  // do something}

Using async function in a callback:

const foo = event.onCall(async () => {  // do something})

Using async method inside of a class:

async foo() {  // do something}


This the simplest way to assign an async arrow function expression to a named variable:

const foo = async () => {  // do something}

(Note that this is not strictly equivalent to async function foo() { }. Besides the differences between the function keyword and an arrow expression, the function in this answer is not "hoisted to the top".)


Immediately Invoked Async Arrow Function:

(async () => {    console.log(await asyncFunction());})();

Immediately Invoked Async Function Expression:

(async function () {    console.log(await asyncFunction());})();