Синтаксис для функции async arrow

Я могу пометить функцию javascript как "асинхронную" (т.е. возвращающую обещание) с ключевым словом async. Как это:

async function foo() {
  // do something
}

Каков эквивалентный синтаксис для функций стрелок?

Ответ 1

Асинхронные функции стрелок выглядят так:

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

Асинхронные функции стрелок выглядят так для одного переданного ему аргумента:

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

Анонимная форма также работает:

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

Объявление асинхронной функции выглядит следующим образом:

async function foo() {
  // do something
}

Использование асинхронной функции в обратном вызове callback:

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

Ответ 2

Это самый простой способ присвоить функции стрелки async выражение переменной с именем :

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

(Обратите внимание, что это не является строго эквивалентным async function foo() { }. Помимо различий между ключевым словом function и выражением стрелки, функция в этом ответе не "поднимается на сверху ".)

Ответ 3

Немедленно вызванная функция асинхронной стрелки:

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

Сразу же вызванное выражение асинхронной функции:

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

Ответ 4

Вы также можете сделать:

 YourAsyncFunctionName = async (value) => {

    /* Code goes here */

}

Ответ 5

Синтаксис функции асинхронной стрелки с параметрами

const MyFunction = async (a,b,c) => {
  //code here
}

Ответ 6

/* foo = async (props) => {

/* Code goes here */

} Пожалуйста, удалите эти комментарии */