vendredi 25 septembre 2026

À propos

Contact

Lexique · JavaScript

Promesse

En anglais : « Promise »

Objet JavaScript représentant le résultat futur d'une opération asynchrone, qui se résout avec succès ou échoue, sans bloquer le reste du script.

Un ticket de retrait remis en attendant une commande : on ne repart pas les mains vides, mais on n’a pas encore le produit non plus. La promesse fonctionne pareil en JavaScript, elle représente une valeur qui arrivera plus tard, une fois une opération asynchrone terminée.

Récupérer des données WordPress sans bloquer la page

L’API REST de WordPress (/wp-json/) se consomme typiquement via fetch, qui renvoie une promesse. Le navigateur continue d’afficher et de réagir pendant que la requête réseau vers le serveur s’exécute en arrière-plan ; le script reprend la main dès que la réponse arrive, sans jamais figer l’interface.

Exemple

fetch('/wp-json/wp/v2/pages/42')
  .then(reponse => reponse.json())
  .then(page => console.log(page.title.rendered))
  .catch(erreur => console.error('Échec :', erreur));

Chaque .then() s’exécute uniquement si l’étape précédente a réussi ; le .catch() intercepte toute erreur survenue à n’importe quel maillon de la chaîne.

Pièges fréquents

  • Une promesse non gérée (sans .catch() ni bloc try/catch avec await) fait échouer silencieusement une opération, souvent avec un simple avertissement dans la console.
  • Promise.all() attend la résolution de plusieurs promesses en parallèle, mais échoue globalement si l’une d’elles est rejetée ; Promise.allSettled() attend toutes les issues sans interrompre les autres.
  • La syntaxe async/await ne remplace pas les promesses : elle s’appuie dessus pour offrir une écriture séquentielle plus lisible d’un même mécanisme asynchrone.