当前位置: 首页 > 工具软件 > Lorentz.js > 使用案例 >

Event Loop js

高恺
2023-12-01

js是单线程脚本语言,所有任务都要排队,只有前一个任务结束了,才会去执行下一个任务,为了协调事件所以就引入了Event Loop;

Event Loop分为同步任务和异步任务,同步任务(包括整体代码script)直接进入执行栈中执行,异步任务分为微任务队列和宏任务队列

微任务只有等同步任务全部执行完之后才会调入执行栈中执行,一般常见的微任务有Promise。then,process.nextTick

而宏任务只有等微任务队列清空之后才会调入执行栈中执行,一般常见的宏任务有setTimeout,setInterval

js为啥被设计为单线程?

js主要用途是操作dom与用户交互,假如js是多线程,此时有两个线程同时操作一个dom,一个线程要在这个dom上新增内容,一个线程要把这个dom删除,此时就会造成冲突。

 类似资料:

相关阅读

相关文章

相关问答