任务列队和event loop(事件循环)

1.所有的同步任务都在主线程上执行,行成一个执行栈。

2.除了主线程之外,还存在一个任务列队,只要异步任务有了运行结果,就在任务列队中植入一个时间标记。

3.主线程完成所有任务(执行栈清空),就会读取任务列队,先执行微任务队列在执行宏任务队列。

4.重复上面三步。

只要主线程空了,就会读取任务列队,这就是js的运行机制,也被称为 event loop(事件循环)。

执行顺序

1.主线程上宏任务、微任务执行顺序
执行顺序:主线程 >> 主线程上创建的微任务 >> 主线程上创建的宏任务

2.宏任务中包含微任务
执行顺序:主线程 >> 主线程上的宏任务队列1 >> 宏任务队列1中创建的微任务

猜你喜欢

转载自blog.csdn.net/qq_45846359/article/details/109434356
今日推荐