Event Loop
JavaScript 🟡 MidDéfinition
Mécanisme central qui gère l'exécution asynchrone en JS. Il surveille la call stack et, quand elle est vide, depile les callbacks des queues (microtask d'abord, puis macrotask).
Analogie
Un serveur de restaurant qui sert les plats quand le client a fini de manger : il attend que la table soit libre avant d'apporter le suivant.
Exemple de code
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
// 1, 4, 3, 2
Cas d'usage
Comprendre l'ordre d'exécution du code asynchrone et debugger les problèmes de timing.
Anti-pattern
Termes liés
En entretien
Explique-moi l'event loop en JS.
C'est le mécanisme central qui gère l'exécution asynchrone : il surveille la call stack et, quand elle est vide, dépile les callbacks des queues, microtasks d'abord puis macrotasks. Il permet de comprendre l'ordre d'exécution du code asynchrone et de debugger les problèmes de timing.
Piège classique : que se passe-t-il avec setTimeout(fn, 0) ?
On croit souvent qu'il s'exécute immédiatement après le code synchrone, mais les microtasks comme les promesses passent toujours avant les macrotasks comme setTimeout. Donc un .then() planifié avant s'exécute avant le setTimeout(fn, 0).
Fiche mise à jour le 2026-09-27