Event Loop
调用栈(执行栈)
- 专门用来执行代码的栈
- 不是栈内存
- LIFO: last in first out
队列
- 异步任务排队的位置
- 事件队列:Event Queue
- 微任务队列:Microsoft Queue
- Promise.then()
- 宏任务队列:Macrosoft Queue
- 整体代码
- 定时器
- FIFO: first in first out
Web APIs
- 提供异步机制的
- 分配任务到哪一个队列
- 会在每一次调用栈空的时候进行 计时 并 分配
事件轮询(客户端 事件循环)
- 就是 JS 代码的同步异步执行机制
- 轮流询问 宏任务队列 和 微任务队列
- 从 宏任务 开始,一个宏任务,清空一次微任务队列
- 再一个宏任务,清空一次微任务队列
- 直到微任务队列清空完毕,再次访问宏任务队列也没有任务的时候
- Event Loop暂停
面试题
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Kenis!
评论