美文网首页
涨知识:浏览器中的event loop

涨知识:浏览器中的event loop

作者: 毛毛_000e | 来源:发表于2019-11-15 18:16 被阅读0次

    js在执行过程中会产生执行环境,这些执行环境会被顺序的放入执行栈中,如果遇到异步的代码,会被加入到task队列中,一旦执行栈为空,event loop就会从task队列中拿出需要执行的代码并放入执行栈中执行。

    不同的任务源会被加入到不同的task队列中,任务源可以分为微任务(microtask,es6称为jobs)和宏任务(macrotask,es6称为task)

    微任务包括process.nextTick、promise、Object.observe

    宏任务包括script、setTimeout、setInterval、setImmediate

    一般来说,微任务快于宏任务(除了script外)执行,浏览器会先执行一个宏任务,接下来有异步代码的话就执行微任务

    相关文章

      网友评论

          本文标题:涨知识:浏览器中的event loop

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