Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →