Event Loop
JavaScript 🟡 MidDefinition
Mecanisme central qui gere l'execution 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'execution du code asynchrone et debugger les problemes de timing.
Anti-pattern
Croire que setTimeout(fn, 0) s'execute immediatement apres le code synchrone (les microtasks passent avant).