美文网首页
js的宏任务与微任务

js的宏任务与微任务

作者: 小李不小 | 来源:发表于2020-09-23 10:44 被阅读0次

    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 定时器是第三优先级执行

    image.png

    相关文章

      网友评论

          本文标题:js的宏任务与微任务

          本文链接:https://www.haomeiwen.com/subject/fhbnyktx.html