美文网首页
JavaScript执行过程,微任务和宏任务的概念

JavaScript执行过程,微任务和宏任务的概念

作者: Gino_Li | 来源:发表于2019-03-02 17:03 被阅读0次

    javascript提供一种机制,会将所有定时器放到一个队列里面,当主线程的代码执行完之后再执行队列里面的代码。

    • 异步函数

    • 宏任务:所有主线程上执行的任务(除了异步函数以外的所有任务)

    • 微任务:异步任务

    • 比如:现在有微任务,也有宏任务

             *              执行js脚本      
             *          ----→   ↓   ←----------------------
             *          |    宏任务---定时器--->任务队列    ↑
             *          |       ↓                         |
             *          |   完成宏任务                     |
             *          |       ↓ (检查是否有微任务)------
             *          ----执行微任务
             * 
    
    • js执行过程:
      1.首先执行宏任务,当执行宏任务的时候,发现有定时器任务的时候,会将定时器添加到宏任务的任务队列里面,
      2.继续完成宏任务,
      3.当宏任务完成后,会检测是否有微任务,如果有,则执行微任务
      4.执行完微任务后回到宏任务
      5.检查任务队列里面有没有未完成的任务队列
      6.如果有,则执行,结束。
      7.如果没有,结束js脚本的执行

    相关文章

      网友评论

          本文标题:JavaScript执行过程,微任务和宏任务的概念

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