js-执行机制2

2021-03-02 17:28

阅读:580

  • 同步和异步任务分别进入不同的执行"场所",同步的进入主线程,异步的进入事件列表并注册回调函数。

    当异步任务执行结束后,判断该异步任务是宏任务还是微任务,将宏任务的回调函数添加宏任务事件队列,将微任务的回调函数添加到微任务事件队列。

    主线程内的任务执行完毕后。

    • 先去微任务事件队列中询问有没有要执行的任务,如果有,那就按先添加先执行的顺序进入任务执行栈。
    • 如果没有,再去宏任务事件队列中询问有没有要执行的任务。如果有,那就按先添加先执行的顺序进入任务执行栈。
    • 如果没有,那任务都执行完毕。
    • 上述过程会不断重复,也就是常说的事件循环(Event Loop)。

  • 评论


    亲,登录后才可以留言!