mécanisme d'interrogation d'événement de boucle d'événement

1, boucle d'événement (interrogation d'événement / boucle d'événement)

首先我们要知道 由于js是单线程的脚本,异步事件要基于回调来实现的
而event loop 就是异步回调的实现原理

1. L'ordre d'exécution de js

  1. De l'avant vers l'arrière, exécutez ligne par ligne
  2. Si une erreur est signalée lors de l'exécution d'une ligne, l'exécution du code suivant sera arrêtée
  3. Exécutez d'abord le code synchrone, puis exécutez asynchrone

Par exemple,
Petite affaire
ce qui précède est un petit cas d'ordre d'exécution js

Navigateur en cours d'exécution
Ce qui précède est l'opération du navigateur.

Exécutez d'abord la première ligne de code, affichez console.log ('Hi'), puis effacez la pile de climatisation.

Insérez la description de l'image ici
Appelez ensuite la fonction, la fonction entrera dans la file d'attente des fonctions asynchrones et
Insérez la description de l'image ici
exécutera enfin le code du journal, puis l'effacera.
Insérez la description de l'image ici
Ensuite, il n'y a pas de code synchrone, le mécanisme de boucle d'événements sera lancé et le navigateur déclenchera le rappel
Insérez la description de l'image ici
Insérez la description de l'image ici
pour terminer la exécution

同步代码,一行一行放在call stack 中执行
遇到异步,会先“记录”下,等待时机(定时、网络请求等)
时机到了,就会移动到callback Queue 库里面
如call stack 为空(即同步代码执行完)event loop 开始工作
轮训查找 callback Queue,如果有就移动到 call stack执行
然后继续轮训查找(和永动机一样)

Reportez-vous à la documentation pour une
compréhension approfondie du mécanisme de fonctionnement du navigateur Javascript Callstack et EventLoop
.

2. Tâche macro, micro tâche

js séquence d'exécution d'événement de thread unique, tâche macro et micro tâche

Je suppose que tu aimes

Origine blog.csdn.net/weixin_53687450/article/details/115056994
conseillé
Classement