编程语言
首页 > 编程语言> > JavaScript的运行机制-JavaScript中的事件循环

JavaScript的运行机制-JavaScript中的事件循环

作者:互联网

一、前提:

  1.JavaScript是单线程语言,代码从上到下执行。

  2.JavaScript通过回调函数处理异步。

  3.除了广义的同步任务和异步任务,任务还被更精细的定义为宏任务和微任务:

    宏任务:整个script代码块、setTimeout、setInterval

    微任务:Promise的.then、process.nextTick

  4.宏任务和微任务有各自独立的事件队列。

 

二、概述:JavaScript是运行机制是事件循环。

 

三、使用事件循环处理异步任务:

  1.从上到下执行代码,同步任务直接进入主进程依次执行,异步任务写入事件列表。

  2.当事件列表里的某个异步任务的异步事件完成时,将其移动到事件队列。

  3.主进程的同步任务依次执行完毕时,检查事件队列,如果事件队列里有异步任务,则执行事件队列里的异步任务。

  4.重复执行2-3,直到代码执行完毕。

 

四、使用事件循环处理异步任务,区分宏任务和微任务:

  1.整个script代码块作为宏任务,进入主线程执行。

  2.从上到下执行代码,同步任务直接进入主进程依次执行,异步任务写入事件列表。

  3.当事件列表里的某个异步任务的异步事件完成时,将其移动到事件队列。

  4.在3中,宏任务移动到宏任务的事件队列,微任务移动到微任务的事件队列。

  5.script代码块作为宏任务执行首先完。

  6.检查微任务的事件队列,看是否有异步任务,有则执行。

  7.检查宏任务的事件队列,看是否有异步任务,有则执行。

  8.重复执行6-7,直到代码执行完毕。

 

标签:异步,JavaScript,任务,循环,事件,运行机制,执行,事件队列
来源: https://www.cnblogs.com/starlog/p/15450108.html