Sobes.tech
Middle

Dans quel ordre les nombres s'afficheront-ils dans le code avec Promise, setTimeout et code synchrone (Event Loop) ?

sobes.tech IA

Réponse de l'IA

En JavaScript, l’ordre d’exécution du code avec Promise, setTimeout et le code synchrone est déterminé par l’Event Loop et les files de microtâches (microtasks) et de macrotâches (macrotasks).

Considérons un exemple :

console.log('1');

setTimeout(() => {
  console.log('2');
}, 0);

Promise.resolve().then(() => {
  console.log('3');
});

console.log('4');

Explication :

  • Tout d’abord, tout le code synchrone est exécuté, donc 1 et 4 sont affichés.
  • Ensuite, les microtâches (Promise) sont exécutées, affichant 3.
  • Après cela, les macrotâches (setTimeout) sont exécutées, affichant 2.

L’ordre final d’affichage est : 1, 4, 3, 2.

Ainsi, le code synchrone s’exécute en premier, suivi des microtâches (Promise), puis des macrotâches (setTimeout). C’est un point clé pour comprendre l’Event Loop en JavaScript.