美文网首页
2019-03-21 事件循环、任务队列

2019-03-21 事件循环、任务队列

作者: 忙于未来的民工 | 来源:发表于2019-04-12 10:26 被阅读0次

    引擎:解释并编译代码,使其能够直接在机器上运行

    runtime:运行时,或者称之为运行环境。比如浏览器环境和node环境,不同的环境上会有提供不同的api以及接口

    任务队列

    js中任务队列有两类:宏任务队列和微任务队列。

    宏任务队列(macrotask):全局script setTimeout, setInterval, ajax,setImmediate, I/O, UI rendering.

    微任务(microtask):Promise, Object.observer, MutationObserver.

    事件循环机制

    1:主线程先取一个宏任务队列的任务执行

    2:取一个微任务进行执行,执行完毕后,接着取微任务执行,直到微任务执行完毕

    3:更新ui渲染

    更新ui渲染比较耗时,所以是否进行ui渲染取决于浏览器。

    当同步代码执行完毕以后,先检查微任务队列,把微任务队列迭代空,再取一个宏任务到主线程执行,宏任务执行完毕再检查微任务队列,接着再取宏任务队列,依次循环

    注意:与node的执行顺序不同。

    相关文章

      网友评论

          本文标题:2019-03-21 事件循环、任务队列

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