JavaScript事件循环机制

一、记录一些要点

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队列中去,但是该任务就得等到下一轮事件循环执行了

5.详细请参考http://www.jianshu.com/p/12b9f73c5a4f

原文地址:https://www.cnblogs.com/jieru/p/7255884.html