r/alexandretrotel · u/alexandretrotel ·

Comprendre les Promesses en JavaScript et leurs méthodes all, allSettled, any et race

Comprendre les Promesses en JavaScript et leurs méthodes all, allSettled, any et race

Une promesse en JavaScript est un objet représentant l'achèvement éventuel d'une opération asynchrone. Elle existe dans trois états : pending (en attente), fulfilled (réussie) ou rejected (échouée). Ce mécanisme permet de gérer le flux de données sans bloquer l'exécution du programme.

Pour réagir au résultat, on utilise les méthodes .then (pour la réussite) et .catch (pour l'erreur). L'intérêt majeur des promesses réside dans la gestion de plusieurs opérations simultanées via des méthodes statiques :

  • Promise.all : réussit si toutes les promesses réussissent, sinon elle échoue immédiatement.
  • Promise.allSettled : attend la fin de toutes les promesses et retourne le statut de chacune, qu'elles aient réussi ou échoué.
  • Promise.any : réussit dès que la première promesse réussit, échoue seulement si toutes échouent.
  • Promise.race : retourne le résultat de la première promesse à se terminer, quelle que soit sa nature.

Exemple : Si vous lancez deux requêtes API avec Promise.all, l'application attend les deux réponses. Si la première échoue, la promesse globale est rejetée et le code .catch s'exécute. Avec Promise.allSettled, vous obtiendrez un tableau contenant le succès de la première et l'erreur de la seconde, vous permettant de traiter partiellement les données.