JavaScript有一个事件循环的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。
JavaScript是单线程(某一时刻只能执行一行代码),为了让耗时代码不阻塞其他代码运行,设计了事件循环模型
事件循环模型
事件循环 - 执行过程
有三个内存空间 调用栈: 同步代码 宿主环境(浏览器):异步代码倒计时 任务队列:异步代码倒计时完毕 等调用栈空闲,才会执行任务队列,回一直循环扫描任务队列
有三个内存空间
调用栈: 同步代码 宿主环境(浏览器):异步代码倒计时 任务队列:异步代码倒计时完毕 等调用栈空闲,才会执行任务队列,回一直循环扫描任务队列
调用栈: 同步代码 宿主环境(浏览器):异步代码倒计时 任务队列:异步代码倒计时完毕
等调用栈空闲,才会执行任务队列,回一直循环扫描任务队列