Event Loop学习

109 阅读1分钟

JavaScript有一个基于事件循环的并发模型,事件循环负责执行代码、收集和处理事件以及执行队列中的子任务。事件循环其实就是入栈出栈的循环。作为单线程的javascript就是通过event loop来实现了它的异步编程特性。

宏任务(Macrotask)

script(整体代码)、setTimeout、setInterval、XMLHttpRequest.prototype.onload、I/O、UI 渲染、setImmediate(node独有)

微任务(Microtask)

process.nextTick(node独有), Promises, Object.observe, MutationObserver