Middle
Comment fonctionne Promise en JavaScript?
sobes.tech IA
Réponse de l'IA
- Objet représentant une éventuelle fin (ou échec) d'une opération asynchrone et sa valeur résultante.
- États d'une promesse :
pending: état initial, ni rempli ni rejeté.fulfilled: indique que l'opération a réussi.rejected: indique que l'opération a échoué.
- La transition de
pendingàfulfilledourejectedse produit une seule fois et de manière irréversible. - Méthodes :
.then(onFulfilled, onRejected): prend deux fonctions de rappel. La première (onFulfilled) est appelée en cas de succès, la seconde (onRejected) en cas d'erreur. Les deux arguments sont optionnels. Retourne une nouvelle promesse..catch(onRejected): version abrégée de.then(null, onRejected). Utilisée pour gérer les erreurs. Retourne une nouvelle promesse..finally(onFinally): appelé indépendamment du résultat de la promesse (succès ou erreur). Utile pour libérer des ressources. Retourne une nouvelle promesse.
- Création d'une promesse :
new Promise((resolve, reject) => {
// Opération asynchrone
const success = true;
if (success) {
resolve("Opération réussie!"); // Passage à l'état fulfilled
} else {
reject("Quelque chose a mal tourné..."); // Passage à l'état rejected
}
});
- Chaînage de promesses :
.then(),.catch(),.finally()retournent des promesses, permettant de créer des chaînes pour exécuter des opérations asynchrones en séquence.
fetch(url)
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Erreur:', error));