web-dev-qa-db-fra.com

Syntaxe de la fonction de flèche asynchrone

Je peux marquer une fonction javascript comme "asynchrone" (c'est-à-dire retourner une promesse) avec le mot clé async. Comme ça:

async function foo() {
  // do something
}

Quelle est la syntaxe équivalente pour les fonctions de flèche?

348
BonsaiOak

Async fonctions de flèche ressemblent à ceci:

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

Async les fonctions de flèche ressemblent à ceci pour un seul argument qui lui est passé:

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

Le formulaire anonyme fonctionne également:

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

Une fonction asynchrone déclaration ressemble à ceci:

async function foo() {
  // do something
}

Utilisation de la fonction asynchrone dans un rappel:

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

C'est le moyen le plus simple d'affecter une fonction de flèche asynchrone expression à une variable nommée:

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

Ta-da!

(Notez que cela n’est pas strictement équivalent à async function foo() { }. Outre les différences entre le mot-clé function et une expression de flèche , la fonction de cette réponse n’est pas " hissé au sommet " .)

103

Fonction de flèche asynchrone immédiatement appelée:

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

Immédiatement appelée expression de fonction asynchrone:

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

Vous pouvez aussi faire:

 YourAsyncFunctionName = async (value) => {

    /* Code goes here */

}
12
Justin E. Samuels

Syntaxe de la fonction flèche asynchrone avec paramètres

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