Синтаксис для функции 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 */
}
Пожалуйста, удалите эти комментарии */