| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/Web/JavaScript/Reference/Operators/async_function* | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
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.
Les mots-cls async function* peuvent tre utiliss afin de crer une fonction gnratrice asynchrone au sein d'une expression.
async function* foo() {
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 = str + val;
}
console.log(str);
}
generate();
// Expected output: "abc"
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
}
nom FacultatifLe nom de la fonction. S'il est absent, la fonction est anonyme. Le nom est uniquement local au corps de la fonction.
paramN FacultatifLe nom d'un argument passer la fonction. Une fonction peut avoir jusqu' 255 arguments.
instructions FacultatifLes instructions qui forment le corps de la fonction.
Une expression async function* est trs proche et possde quasiment la mme syntaxe qu'une instruction async function*. La diffrence 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 crer des fonctions gnratrices asynchrones anonymes. Voir aussi le chapitre sur les fonctions en JavaScript pour plus d'informations.
L'exemple qui suit dfinit une fonction gnratrice asynchrone anonyme et l'affecte x. Cette fonction gnre le carr de son argument :
const x = async function* (y) {
yield Promise.resolve(y * y);
};
x(6)
.next()
.then((res) => console.log(res.value)); // affiche 36
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-async-generator-function-definitions |
async function*AsyncGeneratorFunctionGeneratorFunctionyieldyield*FunctionCette page a t modifie le 17 fvr. 2025 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |