EventLoop

作者: 饥人谷_刘康 | 来源:发表于2020-07-06 12:21 被阅读0次

    1.浏览器中的事件循环(Event Loop)

    事件循环可以简单的描述为以下四个步骤

    
    1. 函数入栈,当Stack中执行到异步任务的时候,就将他丢给WebAPIs,接着执行同步任务,直到Stack为空;
    2. 此期间WebAPIs完成这个事件,把回调函数放入队列中等待执行(微任务放到微任务队列,宏任务放到宏任务队列)
    3. 执行栈为空时,Event Loop把微任务队列执行清空;
    4. 微任务队列清空后,进入宏任务队列,取队列的第一项任务放入Stack(栈)中执行,回到第1步。
    
    

    浏览器中的任务源(task)

    微任务:then 、messageChannel 、mutationObersve、promise.then,process.nextTick
    宏任务:script、setTimeout、setInterval、setTmmediate(只兼容ie)、promise中的executor

    相关文章

      网友评论

          本文标题:EventLoop

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