宏进程和微进程

微任务包括 process.nextTick ,promise ,MutationObserver,其中 process.nextTick 为 Node 独有。

宏任务包括 script , setTimeout ,setInterval ,setImmediate ,I/O ,UI rendering

微任务>DOM渲染>宏任务

这里很多人会有个误区,认为微任务快于宏任务,其实是错误的。因为宏任务中包括了 script ,浏览器会先执行一个宏任务,接下来有异步代码的话才会先执行微任务。

 

console.log(1)
setTimeout(()=>{
    console.log(2)
    Promise.resolve().then(()=>{
	console.log(5)
    })
    setTimeout(()=>{
    console.log(8)
    })
})
Promise.resolve().then(()=>{
    console.log(3)
    setTimeout(()=>{
        console.log(6)
    })
    Promise.resolve().then(()=>{
        console.log(7)
    })
})
console.log(4)    

  1.4.3.7.2.5.6.8

posted @ 2022-06-08 08:00  js_yl  阅读(53)  评论(0编辑  收藏  举报