事件循环的一些

本文深入探讨JavaScript的事件循环机制,解析同步与异步任务的执行流程。同步任务直接进入主线程执行,而异步任务如setTimeout、Promise.then等分别进入宏任务和微任务队列。当主线程任务执行完毕,会从宏任务队列开始检查并执行任务,之后处理微任务队列。如此反复,构成了EventLoop。了解这一机制对于优化JavaScript性能至关重要。
摘要由CSDN通过智能技术生成

1. 事件循环机制Event Loop

(1)事件进入主线程,判断是同步任务还是异步任务
(2)如果是同步任务:进入主线程,任务全部执行完毕
(3)读取任务队列中的任务

(2)如果是异步任务:进入到Event Table,其中包括宏任务和微任务
(3)注册回调函数到Event Queue

1、同步任务和异步任务分别进入不同的执行环境,同步任务进入主线程,异步任务进入 Event Table 并注册函数
2、当指定的事情完成后,Event Table 会将这个函数移入到 Event Queue 中
3、主线程内的任务执行完毕,就会去 Event Queue 中读取对应的函数,进入主线程执行
上述过程不断重复,形成 Event Loop

ps:同步任务比异步任务先执行

2. 宏任务和微任务

宏任务:setTimeout、setinterval、ui、I/O……
微任务:promise.then
同步任务:new Promise
异步任务:setTimeout

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值