JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 9 · Application directe du cours
Suivre une chaîne
Programmation asynchrone · niveau 2
Énoncé
Qu'affiche ce programme ? Que deviendrait l'affichage si le premier then était .then((x) => x - 1) ?
Promise.resolve(10)
.then((x) => x + 1)
.then((x) => {
if (x > 10) throw new Error(`trop grand : ${x}`);
return x;
})
.then((x) => console.log("A", x))
.catch((e) => {
console.log("B", e.message);
return 0;
})
.then((x) => console.log("C", x))
.finally(() => console.log("D"));Corrigé
: le deuxième then lève une erreur ; le troisième (A) est sauté ; le catch affiche B et renvoie 0 ; la chaîne repart : C 0 ; enfin D.
B trop grand : 11
C 0
D
Avec x - 1, on obtient 9, pas d'erreur : A 9, puis le catch est sauté et le then suivant reçoit la valeur renvoyée par celui de A, c'est-à-dire undefined (console.log ne renvoie rien) : A 9, C undefined, D.
100 % gratuit
La suite du chapitre est sur Adloun
- 11 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.