消息队列的优先级
消息队列是渲染主线程的重要组成部分
浏览器中消息队列中的任务没有优先级,FIFO
但是消息队列有优先级(priority)
根据W3C官方文档,
- 每个任务都有任务类型,同类型的任务必须在同一个队列,不同类型的任务可以分属于不同队列
- 在一次事件循环中,浏览器可以根据情况从不同的队列中取出任务执行
- 浏览器必须准备好一个微队列,微队列中的任务优先于其他所有队列的任务执行
队列类型(优先级)



在目前 chrome 的实现中,至少包含了下面队列:
- 延时队列:存放计时线程计时结束后,由回调函数包装成的任务,优先级:中
- 交互队列:存放用户操作后产生的事件处理函数,优先级:高
- 微队列:存放需要最快执行的任务,优先级:最高
大致意思就是:如果微队列不为空的话,将最先进入微队列的任务作为结果从队列中取出来,执行
微队列
向微队列中添加任务
- Promise的回调函数(then、catch、finally)
- MutationObserver
- queueMicrotask

960

被折叠的 条评论
为什么被折叠?



