Я могу пометить функцию javascript как "асинхронную" (т.е. возвращающую обещание) с ключевым словом async
. Как это:
async function foo() {
// do something
}
Каков эквивалентный синтаксис для функций стрелок?
Я могу пометить функцию javascript как "асинхронную" (т.е. возвращающую обещание) с ключевым словом async
. Как это:
async function foo() {
// do something
}
Каков эквивалентный синтаксис для функций стрелок?
Асинхронные функции стрелок выглядят так:
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
})
Это самый простой способ присвоить функции стрелки async
выражение переменной с именем :
const foo = async () => {
// do something
}
(Обратите внимание, что это не является строго эквивалентным async function foo() { }
. Помимо различий между ключевым словом function
и выражением стрелки, функция в этом ответе не "поднимается на сверху ".)
Немедленно вызванная функция асинхронной стрелки:
(async () => {
console.log(await asyncFunction());
})();
Сразу же вызванное выражение асинхронной функции:
(async function () {
console.log(await asyncFunction());
})();
Вы также можете сделать:
YourAsyncFunctionName = async (value) => {
/* Code goes here */
}
Синтаксис функции асинхронной стрелки с параметрами
const MyFunction = async (a,b,c) => {
//code here
}
/* foo = async (props) => {
/* Code goes here */
} Пожалуйста, удалите эти комментарии */