Async/Await

JavaScript 🟢 Junior

Définition

Sucre syntaxique sur les Promises. async déclaré une fonction retournant une Promise, await suspend l'exécution jusqu'a la résolution. Rend le code asynchrone lisible comme du synchrone.

Analogie

Commander un café et attendre au comptoir : tu ne fais rien d'autre en attendant (await), mais le reste du café (event loop) continue de tourner.

Exemple de code

async function fetchUser(id) {
  try {
    const res = await fetch(`/api/users/${id}`);
    return await res.json();
  } catch (err) {
    console.error('Fetch failed', err);
  }
}

Cas d'usage

Écrire du code asynchrone lisible pour les appels API, accès BD, opérations fichiers.

Anti-pattern

Oublier le try/catch autour d'un await, laissant les rejections non gérées crasher silencieusement.
#core#interview#async#fondamental

En entretien

  1. C'est quoi async/await et à quoi ça sert ?

    C'est du sucre syntaxique sur les Promises : async déclare une fonction qui retourne une Promise, et await suspend l'exécution jusqu'à ce qu'elle soit résolue. Ça rend le code asynchrone lisible comme du code synchrone, pour des appels API, de l'accès BD ou des opérations fichiers.

  2. Quel est le piège classique à éviter avec await ?

    Oublier le try/catch autour d'un await, ce qui laisse les rejections non gérées crasher silencieusement. Dans l'exemple fetchUser, le try/catch permet de logguer l'erreur au lieu de la perdre.

  3. Est-ce que le reste du programme est bloqué pendant un await ?

    Non, c'est comme commander un café et attendre au comptoir : toi tu ne fais rien d'autre en attendant, mais l'event loop continue de tourner pour le reste du programme. await suspend seulement la fonction courante, pas tout le moteur JS.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre