试题
考点

js语言和框架-JavaScript语言-js事件循环机制

面5笔5

任务队列又分为宏任务与微任务,分别包括什么?

前往“校招VIP”小程序,刷题更快
最新校招难题刷题,快来进刷题群吧
解答

浏览器的事件循环分为同步任务和异步任务;所有同步任务都在主线程上执行,形成一个函数调用栈(执行栈),而异步则先放到任务队列(task queue)里,任务队列又分为宏任务(macro-task)与微任务(micro-task)。下面的整个执行过程就是事件循环

宏任务大概包括:script(整块代码)、setTimeout、setInterval、I/O、UI交互事件、setImmediate(node环境)

微任务大概包括:new promise().then(回调)、MutationObserver(html5新特新)、Object.observe(已废弃)、process.nextTick(node环境)

若同时存在promise和nextTick,则先执行nextTick

文章链接

评论
暂无评论

加载更多