一、记录一些要点
1.事件循环可以分为这样的一个过程:分别是 宏任务
->执行栈
->微任务
。
2.V8实现中,两个队列各包含不同的任务:(以下内容是以优先级来写的)
macrotasks: script(整体代码),setTimeout, setInterval, setImmediate, I/O, UI rendering
microtasks: process.nextTick, Promises, Object.observe, MutationObserver
3.优先级:process.nextTick > promise.then > setTimeout > setImmediate
4.当我们在执行setTimeout任务中遇到setTimeout时,它仍然会将对应的任务分发到setTimeout队列中去,但是该任务就得等到下一轮事件循环执行了