Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

AsyncGeneratorFunction

Baseline Widely available

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis ⁨janvier 2020⁩.

L'objet AsyncGeneratorFunction fournit des méthodes pour les fonctions génératrices asynchrones. En JavaScript, chaque fonction génératrice asynchrone est en réalité un objet AsyncGeneratorFunction.

Notez que AsyncGeneratorFunction n'est pas un objet global. Vous pouvez l'obtenir avec le code suivant :

js
const AsyncGeneratorFunction = async function* () {}.constructor;

AsyncGeneratorFunction est une sous-classe de Function.

Exemple interactif

const AsyncGeneratorFunction = async function* () {}.constructor;

const foo = new AsyncGeneratorFunction(`
  yield await Promise.resolve('a');
  yield await Promise.resolve('b');
  yield await Promise.resolve('c');
`);

let str = "";

async function generate() {
  for await (const val of foo()) {
    str += val;
  }
  console.log(str);
}

generate();
// Résultat attendu : "abc"

Constructeur

AsyncGeneratorFunction()

Crée un nouvel objet AsyncGeneratorFunction.

Propriétés d'instance

Hérite également des propriétés d'instance de sa super-classe Function.

Ces propriétés sont définies sur AsyncGeneratorFunction.prototype et partagées par toutes les instances de AsyncGeneratorFunction.

AsyncGeneratorFunction.prototype.constructor

La fonction constructeur qui a créé l'instance de l'objet. Pour les instances de AsyncGeneratorFunction, la valeur initiale est le constructeur AsyncGeneratorFunction.

AsyncGeneratorFunction.prototype.prototype

Toutes les fonctions génératrices asynchrones partagent la même propriété prototype, qui est AsyncGenerator.prototype. Chaque fonction génératrice asynchrone créée avec la syntaxe async function* ou le constructeur AsyncGeneratorFunction() possède également sa propre propriété prototype, dont le prototype est AsyncGeneratorFunction.prototype.prototype. Lorsque la fonction génératrice asynchrone est appelée, sa propriété prototype devient le prototype de l'objet générateur asynchrone retourné.

AsyncGeneratorFunction.prototype[Symbol.toStringTag]

La valeur initiale de la propriété [Symbol.toStringTag] est la chaîne de caractères "AsyncGeneratorFunction". Cette propriété est utilisée dans Object.prototype.toString().

Ces propriétés sont des propriétés propres à chaque instance de AsyncGeneratorFunction.

prototype

Utilisé lorsque la fonction est utilisée comme constructeur avec l'opérateur new. Il deviendra le prototype du nouvel objet.

Méthodes d'instance

Hérite des méthodes d'instance de sa super-classe Function.

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-asyncgeneratorfunction-objects

Compatibilité des navigateurs

Voir aussi