DébutantNon commencé
Exercice 9.2 · 8 min · 0 tentative
Chaîner les Promises
🎯 Objectif
Apprends à enchaîner plusieurs opérations asynchrones avec .then().
📖 Contexte
Pourquoi chaîner ?
Souvent, les opérations asynchrones se font en séquence : la suivante dépend du résultat de la précédente.
Par exemple, pour charger et afficher un profil utilisateur :
- Récupérer les données (requête réseau)
- Transformer les données (formatage)
- Afficher le résultat
Comment ça marche ?
Chaque .then() retourne une nouvelle Promise, ce qui permet de les enchaîner :
etape1()
.then(function(resultat1) {
return etape2(resultat1)
})
.then(function(resultat2) {
return etape3(resultat2)
})
.then(function(resultat3) {
console.log("Fini :", resultat3)
})
La règle d'or : toujours return
Si tu oublies le return, la chaîne se casse :
// ❌ Sans return : le .then() suivant reçoit undefined
.then(function(x) {
etape2(x) // Oubli du return !
})
// ✅ Avec return : la valeur est transmise
.then(function(x) {
return etape2(x)
})
Un seul .catch() suffit
Le .catch() à la fin de la chaîne attrape toutes les erreurs, peu importe l'étape :
etape1()
.then(etape2)
.then(etape3)
.catch(function(erreur) {
// Attrape les erreurs de n'importe quelle étape
console.log("Oups:", erreur.message)
})
📝 Consigne
Les 3 fonctions (acheterIngredients, cuisiner, servir) sont déjà prêtes. Le premier .then() est fait.
- Ajoute un
.then()qui appelleservir()avec le résultat - Ajoute un
.then()qui affiche le message final avecconsole.log - Ajoute
.catch()à la fin pour gérer les erreurs
Résultat attendu :
1. Ingrédients achetés pour : Pasta
2. Plat cuisiné : Pasta (ingrédients prêts)
3. Servi : Plat terminé !
Bon appétit !
Objectifs
- Appeler servir dans un .then()
- Afficher le message final avec .then()
- Les 3 étapes s'affichent dans l'ordre
- Le message final s'affiche
- Gestion d'erreur avec .catch()
Lis bien les instructions et lance-toi !
Indices (0/3)
Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé