Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. JavaScript
  3. Référence
  4. Expressions et opérateurs
  5. await

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 EnglishAlways switch to English

await

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 ⁨mars 2017⁩.

* Certaines parties de cette fonctionnalité peuvent bénéficier de prise en charge variables.

L'opérateurawait permet d'attendre la résolution d'une promesse (Promise). Il ne peut être utilisé qu'au sein d'une fonction asynchrone (définie avec l'instructionasync function).

Syntaxe

js
[rv] = await expression;
expression

Une promesse (Promise) ou toute autre valeur dont on souhaite attendre la résolution.

rv

La valeur de retour qui est celle de la promesse lorsqu'elle est résolue ou la valeur de l'expression lorsque celle-ci n'est pas une promesse.

Description

L'expressionawait interrompt l'exécution d'une fonction asynchrone et attend la résolution d'une promesse. Lorsque la promesse est résolue (tenue ou rompue), la valeur est renvoyée et l'exécution de la fonction asynchrone reprend. Si la valeur de l'expression n'est pas une promesse, elle est convertie en une promesse résolue ayant cette valeur.

Si la promesse est rompue, l'expressionawait lève une exception avec la raison.

Exemples

Si on passe une promesse à une expressionawait, celle-ci attendra jusqu'à la résolution de la promesse et renverra la valeur de résolution.

js
function resolveAfter2Seconds(x) {  return new Promise((resolve) => {    setTimeout(() => {      resolve(x);    }, 2000);  });}async function f1() {  var x = await resolveAfter2Seconds(10);  console.log(x); // 10}f1();

Les objets dotés d'une méthodethen() (thenable en anglais) seront également résolus :

js
async function f0() {  const thenable = {    then: function (resolve, _reject) {      resolve("résolu :)");    },  };  console.log(await thenable); // résolu :)}f0();

Si la valeur n'est pas une promesse, elle est convertie en une promesse résolue :

js
async function f2() {  var y = await 20;  console.log(y); // 20}f2();

Si la promesse est rejetée, la raison est fournie avec l'exception.

js
async function f3() {  try {    var z = await Promise.reject(30);  } catch (e) {    console.log(e); // 30  }}f3();

On peut également gérer le cas où la promesse est rejetée grâce àPromise.prototype.catch() :

js
var response = await maFonctionPromesse().catch((err) => {  console.log(err);});

Spécifications

Specification
ECMAScript® 2026 Language Specification
# sec-async-function-definitions

Compatibilité des navigateurs

Voir aussi

Help improve MDN

Learn how to contribute

Cette page a été modifiée le par lescontributeurs du MDN.


[8]ページ先頭

©2009-2025 Movatter.jp