Middle+
Parle-moi de l'Event Loop : qu'est-ce que c'est, comment ça fonctionne ?
sobes.tech IA
Réponse de l'IA
La boucle d'événements — c'est un mécanisme en JavaScript et dans d'autres environnements mono-thread qui permet de traiter des opérations asynchrones sans bloquer le fil principal.
Comment cela fonctionne :
- Il y a une pile d'appels (call stack), où sont placées les fonctions à exécuter.
- Les opérations asynchrones (par exemple, les minuteries, les requêtes réseau) envoient leurs callbacks dans la file d'attente des tâches (task queue) après leur achèvement.
- La boucle d'événements vérifie constamment si la pile d'appels est vide. Si c'est le cas, elle prend la première tâche de la file et la place dans la pile pour exécution.
Ainsi, même avec des opérations asynchrones, le code s'exécute de manière séquentielle, sans bloquer l'interface utilisateur ou d'autres processus.
Exemple :
console.log('Start');
setTimeout(() => {
console.log('Timeout');
}, 0);
console.log('End');
La sortie sera :
Start
End
Timeout
Parce que le callback de setTimeout entre dans la file de tâches et s'exécute après que la pile d'appels se soit libérée.