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 :
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 constructeurAsyncGeneratorFunction. AsyncGeneratorFunction.prototype.prototype-
Toutes les fonctions génératrices asynchrones partagent la même propriété
prototype, qui estAsyncGenerator.prototype. Chaque fonction génératrice asynchrone créée avec la syntaxeasync function*ou le constructeurAsyncGeneratorFunction()possède également sa propre propriétéprototype, dont le prototype estAsyncGeneratorFunction.prototype.prototype. Lorsque la fonction génératrice asynchrone est appelée, sa propriétéprototypedevient 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 dansObject.prototype.toString().
Ces propriétés sont des propriétés propres à chaque instance de AsyncGeneratorFunction.
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
- L'instruction
async function* - L'expression
async function* - L'objet global
Function - L'objet
AsyncFunction - L'objet
GeneratorFunction - Les fonctions