js事件循环机制
宏任务:srcipt(整体代码) ,setTimeout,setInterval,setImmediate,I/O,UI rendering
微任务(跟屁虫):promise Object .observe,MutationObsever
ps:微任务一直跟在当前宏任务后面 代码执行到一个微任务就跟上一个,一个跟一个
代码:
setTimeout(function () {
console.log(2)
}, 0)
new Promise(function (resolve) {
console.log(3)
resolve()
console.log(4)
}).then(() => {
console.log(5)
})
console.log(8)
分析:
1.setTimeout:宏任务
2.new Promise(其中的.then是微任务,new的操作是立即执行的)
3.console(立即执行的)