JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 9 · Application directe du cours
Ordre des minuteurs
Programmation asynchrone · niveau 1 (application)
Énoncé
Dans quel ordre ce programme affiche-t-il ses lettres ? Justifier.
console.log("A");
setTimeout(() => console.log("B"), 50);
setTimeout(() => console.log("C"), 0);
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log("D" + i), 10 * i);
}
console.log("E");Corrigé
Le code synchrone passe d'abord : A, E. Les minuteurs sont ensuite exécutés par échéance croissante : C (0 ms) et D0 (0 ms) ont la même échéance et passent dans l'ordre où ils ont été programmés, puis D1 (10 ms), D2 (20 ms), B (50 ms). Affichage, obtenu avec Node (exercices/ex1-ordre.mjs) :
A
E
C
D0
D1
D2
B
Grâce au let de la boucle, chaque rappel garde sa propre valeur de i (chapitre 4).
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.