js代码执行空间顺序
内存里面有三个执行空间 ,看下列图片,序号对应空间
1 主线程空间 最高级的
2 微任务队列 第三高级
3 宏任务队列 第二高级
有任务在主线程,会优先执行主线程的任务,然后再去微任务队列里面找任务,最后再去宏任务队列里面找任务。
image.png下面我们看一个小小列子
// 宏任务定时器是 会先在任务推列里面,等主线程的任务执行完之后,才会执行定时器
setTimeout(()=>{
console.log('定时器')
},0)
//微任务是 promise
Promise.resolve().then(res=>{
console.log('promise')
})
//这是在主线程任务里面
console.log('我是第一')
看结果
console.log('我是第一') 是主任务,最先执行
Promise.resolve 是微任务 第二优先级执行
setTimeout 定时器是第三优先级执行
网友评论