Expression async function*

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2020.

Les mots-clés async function* peuvent être utilisés afin de créer une fonction génératrice asynchrone au sein d'une expression.

Exemple interactif

Syntaxe

js
async function* (param0) {
  instructions
}
async function* (param0, param1) {
  instructions
}
async function* (param0, param1, /* … ,*/ paramN) {
  instructions
}

async function* nom(param0) {
  instructions
}
async function* nom(param0, param1) {
  instructions
}
async function* nom(param0, param1, /* … ,*/ paramN) {
  instructions
}

Paramètres

nom Facultatif

Le nom de la fonction. S'il est absent, la fonction est anonyme. Le nom est uniquement local au corps de la fonction.

paramN Facultatif

Le nom d'un argument à passer à la fonction. Une fonction peut avoir jusqu'à 255 arguments.

instructions Facultatif

Les instructions qui forment le corps de la fonction.

Description

Une expression async function* est très proche et possède quasiment la même syntaxe qu'une instruction async function*. La différence principale entre une expression async function* et une instruction async function* est que le nom de la fonction peut être omis dans les expressions async function* afin de créer des fonctions génératrices asynchrones anonymes. Voir aussi le chapitre sur les fonctions en JavaScript pour plus d'informations.

Exemples

Utiliser async function*

L'exemple qui suit définit une fonction génératrice asynchrone anonyme et l'affecte à x. Cette fonction génère le carré de son argument :

js
const x = async function* (y) {
  yield Promise.resolve(y * y);
};
x(6)
  .next()
  .then((res) => console.log(res.value)); // affiche 36

Spécifications

Specification
ECMAScript Language Specification
# sec-async-generator-function-definitions

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi