Promise

JavaScript 🟢 Junior

Définition

Objet représentant le résultat futur d'une opération asynchrone. Peut être pending, fulfilled ou rejected. Chainable via .then() et .catch().

Analogie

Un ticket de pressing : tu deposes ton vêtement, tu reçois un ticket, et tu reviens le chercher quand c'est prêt (ou on te prévient si c'est perdu).

Exemple de code

const getData = () => new Promise((resolve, reject) => {
  setTimeout(() => resolve('data'), 100);
});
getData()
  .then(data => console.log(data))
  .catch(err => console.error(err));

Cas d'usage

Gérer toute opération asynchrone : appels API, lecture de fichiers, timers.

Anti-pattern

Imbriquer les .then() au lieu de les chaîner, recréant un callback hell avec des promesses.
#core#interview#async#fondamental

En entretien

  1. C'est quoi une Promise ?

    C'est un objet qui représente le résultat futur d'une opération asynchrone, et qui peut être pending, fulfilled ou rejected. C'est comme un ticket de pressing : tu déposes ton vêtement, tu reçois un ticket, et tu reviens le chercher quand c'est prêt, ou on te prévient si c'est perdu.

  2. Quel est l'anti-pattern classique avec les Promises ?

    Imbriquer les .then() au lieu de les chaîner, ce qui recrée un callback hell mais avec des promesses. Il vaut mieux les chaîner à la suite, comme dans getData().then(...).catch(...).

  3. Pour quel type d'opération tu utiliserais une Promise ?

    Pour toute opération asynchrone : appels API, lecture de fichiers, timers. Dans l'exemple, getData() encapsule un setTimeout dans une Promise qu'on résout ensuite avec .then() et .catch().

Fiche mise à jour le 2026-09-27

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