美文网首页
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