# Promesse

> 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.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/promesse/

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.
