js高级_124、浏览器的事件循环(轮询)模型
1、所有代码分类
初始化代码(同步代码):包含绑定dom事件监听,设置定时器,发送 ajax请求的代码。
回调执行代码(异步代码):处理回调逻辑。
2、js引擎执行代码的基本流程:
初始化代码--->回调代码
3,模型的2个重要组成部分:
①、事件管理模块(包括定时器管理模块/DOM事件管理模块/Ajax管理模块)。
②、回调队列
4,模型的运转流程
执行初始化代码,将事件回调函数交给对应模块管理。
当事件发生时,管理模块会将回调函数及其数据添加到回调列队中。
只有当初始化代码执行完后(可能需要一定时间,因为可能有alert弹窗暂停主线程),才会遍历读取回调队列中的回调函数执行。
事件驱动模型
也就是下面图的执行流程
请求响应模型
就是请求响应过程