| [ 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 avril 2017.
Le mot-cl async function peut tre utilis pour dfinir une fonction asynchrone au sein d'une expression.
Note :
Il est aussi possible de dfinir une fonction asynchrone en utilisant une instruction async function.
async function [name]([param1[, param2[, , paramN]]]) {
instructions
}
nameLe nom de la fonction. Il est facultatif et s'il n'est pas utilis, la fonction est anonyme. Le nom utilis est uniquement local pour le corps de la fonction.
paramNLe nom d'un argument passer la fonction.
instructionsLes instructions qui composent le corps de la fonction.
Note : partir d'ES2015 (ES6), il est aussi possible d'utiliser des fonctions flches pour les expressions de fonction asynchrone.
Une expression async function est trs proche, et partage quasiment la mme syntaxe avec une instruction async function. La diffrence principale entre une expression async function et une instruction async function est qu'on peut omettre le nom de la fonction dans les expressions async function. On peut donc utiliser une expression async function afin de crer une IIFE (pour Immediately Invoked Function Expression) qu'on appelle au moment de sa dfinition. Voir galement le chapitre sur les fonctions pour plus d'informations.
function resolveAfter2Seconds(x) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(x);
}, 2000);
});
}
(async function (x) {
// fonction asynchrone immdiatement appele
var a = resolveAfter2Seconds(20);
var b = resolveAfter2Seconds(30);
return x + (await a) + (await b);
})(10).then((v) => {
console.log(v); // affiche 60 aprs 2 secondes.
});
var add = async function (x) {
var a = await resolveAfter2Seconds(20);
var b = await resolveAfter2Seconds(30);
return x + a + b;
};
add(10).then((v) => {
console.log(v); // affiche 60 aprs 4 secondes.
});
| Spcification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-async-function-definitions |
async functionAsyncFunctionawaitCette page a t modifie le 22 mai 2026 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 |