"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Explication détaillée du mécanisme et des règles de la boucle d'événements JavaScript

Explication détaillée du mécanisme et des règles de la boucle d'événements JavaScript

Publié le 2025-04-29
Parcourir:832

Detailed explanation of Javascript event loop rules

Comme c'est bien connu, Javacript est un seul langage de thread, mais pourquoi pouvons-nous utiliser un fonctionnement asynchrone? Parce que les opérations asynchrones sont exécutées par un navigateur avec des capacités multi-thread et multi-processus. JavaScript s'exécute toujours sur un seul thread partout et est remis au navigateur pour exécution lorsque le code asynchrone est décoré, le navigateur appelle ensuite le thread ou le processus correspondant, y compris la demande http, l'interface graphique, le déclenchement de l'événement, etc., pour gérer ces opérations asynchrones.

De manière générale, les tâches javasctip peuvent être divisées en trois catégories: tâche de synchronisation, micro tâche et macro tâche, exécutant dans l'ordre de synchronisation -> micro -> macro. Le code de synchronisation est exécuté d'abord, puis le navigateur mettra un micro-code dans un micro-tâche de la file d'attente pour la tâche de synchronisation et mettra le code macro dans une file d'attente de tâche macro pour terminer le code micro.
Cet ordre de priorité est similaire à l'algorithme de planification de file d'attente au niveau mutil sur OS.

Common Micro Task: promest.then (), promesse.catch (), new mutationobserver (), process.nextTick ()
Macro Tâche commune: setTimeout, setInterview, requestanimationFrame ()

Soit dit en passant, process.NextTick () n'est ni micro tâche ni macro tâche et il s'exécute simplement après le code de synchronisation et avant la micro tâche.

Déclaration de sortie Cet article est reproduit sur: https://dev.to/tanjiagang/detailed-explanation-of-javascript-event-loop-raliles-156d?1 S'il y a une violation, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3