// js 刚开始加载 算 宏任务
console.log('holl')
// 宏任务 这个setTimeout 是最后执行的 因为js文件一开始加载就是宏任务,里面再遇到宏任务的情况 不会执行 扔到下一次循环再执行
setTimeout(()=> {
console.log('endholl')
},0)
// Promise 微任务 ---- 微任务可以认为跟屁虫 永远跟在当前宏任务的后面
Promise.resolve().then(() => {
console.log('holl_1')
}).then(() => {
console.log('holl_2')
})
// consoe.log 是立马执行的
console.log('holl_xx')
// 根据上面所说的 就可以得到 结果值 holl => holl_xx => holl_1 => holl_2 本次宏任务已经执行完毕 执行下面一个宏任务也就是咋们的 setTimeout
// 最终结果值 holl => holl_xx => holl_1 => holl_2 => endholl
event loop 事件循环(宏任务,微任务)
最新推荐文章于 2021-04-26 14:10:04 发布