美文网首页
浏览器的事件循环

浏览器的事件循环

作者: 娜娜的简书 | 来源:发表于2021-09-25 10:16 被阅读0次

为什么有事件循环?

    js是单线程(如果多线程,一个线程要删除dom,一个要修改dom,会冲突),但是如果想要处理一些异步逻辑,这个时候就出现了even loop。

宏任务和微任务了解吗?

    宏任务:整体代码块,setTimeout,setIntreval,

    微任务: new Promise().then()中的then,

为什么要引入微任务,只有一种类型的任务不行么?

    宏任务,先进先出的原则。如果有优先级高一点的任务,先进先出是不行的,这个时候有了微任务。

浏览器里的事件循环?

    事件循环,先执行宏任务,其中同步任务立即执行,异步任务,加载到对应的的Event Queue中(setTimeout等加入宏任务的Event Queue,Promise.then加入微任务的Event Queue),所有同步宏任务执行完毕后,如果发现微任务的Event Queue中有未执行的任务,会先执行其中的任务,这样算是完成了一次事件循环。接下来查看宏任务的Event Queue中是否有未执行的任务,有的话,就开始第二轮事件循环,依此类推。 

相关文章

  • 浏览器和Node事件循环的区别

    事件循环,是 js 中老生常谈的一个话题了,而在浏览器和 Node 中的事件循环执行机制也不相同,浏览器的事件循环...

  • 聊一聊浏览器事件循环与前端性能

    在网上也看了不少关于javascript事件循环的文章,多数是以浏览器事件循环与nodejs中事件循环做对比,分析...

  • EventLoop

    1.浏览器中的事件循环(Event Loop) 事件循环可以简单的描述为以下四个步骤 浏览器中的任务源(task)...

  • JavaScript事件循环

    事件循环是什么?事实上我把事件循环理解成我们编写的JavaScript和浏览器或者Node之间的一个桥梁。 浏览器...

  • macrotask与microtask

    浏览器环境 注意点 首先, 一个浏览器环境,只能有一个事件循环 event loops 而一个事件循环可以多个任务...

  • 回调函数

    浏览器的事件轮询 首先js是单线程的,js异步是浏览器事件轮询的结果。事件轮询的字面意思就是事件循环。事件轮询的步...

  • Nodejs事件循环机制(一)浏览器事件循环机制

    前言 事件循环可以理解为我们编写的js代码与浏览器或者node之间的一个桥梁 浏览器的事件循环是我们编写的js代码...

  • 再看浏览器事件循环和NodeJS事件循环

    事件循环是浏览器和Node用来解决JS单线程运行带来的问题的一种运行机制。浏览器和NodeJS环境下的事件循环是不...

  • 关于 JavaScript 事件循环 Event Loop 的一

    浏览器 JavaScript 执行流程以及在 Node.js 中都是基于事件循环的。 了解事件循环的工作原理对于正...

  • 浏览器环境和Node环境下事件循环的区别

    2019-04-23-10:19:不能停,继续~今天补充下Node中的事件循环,它与浏览器的事件循环不同。 微任务...

网友评论

      本文标题:浏览器的事件循环

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