美文网首页
event-loop 事件循环机制

event-loop 事件循环机制

作者: Rebirth_914 | 来源:发表于2023-04-22 14:17 被阅读0次
  • js语言的特点 单线程 解释性语言
  • event-loop 事件循环机制 由三部分组成: 调用栈、微任务队列、消息队列,
    (1)event-loop开始的时候,会从全局一行一行的执行,遇到函数调用会压入到调用栈中,被压入的函数被称之为帧,当函数返回后会从调用栈中弹出。
  function fun1() {
    console.log(1);
  }
  function fun2() {
    console.log(2);
    fun1();
    console.log(3);
  }
  fun2();// 2 1 3

(2)js中的异步操作,比如fetch、setTimeout、setInterval。压入到调用栈中的时候里面的消息会进去到消息队列中去,消息队列中会等到调用栈清空之后再执行。

 function fun1() {
    console.log(1);
  }
  function fun2() {
    setTimeout(() => {
      console.log(2);
    }, 0);
    fun1();
    console.log(3);
  }
  fun2(); // 1 3 2

(3)promise async await异步操作的时候会加入到微任务中去,会在调用栈清空的时候立即执行

  const p = new Promise((resolve) => {
    //调用栈中加入的微任务会立马执行
    console.log(4);
    resolve(5);
  });
  function fun1() {
    console.log(1);
  }
  function fun2() {
    setTimeout(() => {
      console.log(2);
    }, 0);
    fun1();
    console.log(3);
    p.then((resolve) => {
      console.log(resolve);
    });
  }
//微任务优先消息队列执行
  fun2(); //4 1 3 5 2

相关文章

  • 成长(10/2000)——面试题合集7

    事件循环机制event-loop 事件循环机制由三部分组成:调用栈、消息队列和微任务队列。 event-loop开...

  • 详解js事件循环机制(Event-loop)

    1.为什么要有事件循环机制? 众所周知,js是一门单线程的语言,那就像只有一个窗口的银行,客户需要排队一个一个办理...

  • Event Loop 事件循环

    名词解释 "event-loop": 事件循环"non-blocking": 非堵塞"callback": 回调函...

  • 并发:事件循环 & asyncio

    1. 事件循环机制 1.1. 什么是事件循环 事件循环(Event Loop),即通过轮询方法监控事件; asyn...

  • 《浏览器工作原理与实践》学习笔记(四)

    消息队列和事件循环 要想在线程运行过程中,能接收并执行新的任务,就需要采用事件循环机制。 事件循环机制:相比于线性...

  • javascript与事件循环event-loop

    众所周知,JavaScript 是一门单线程语言,虽然在 html5 中提出了 Web-Worker ,但这并未改...

  • 事件循环机制

    同步任务和异步任务 同步任务 即可以立即执行的任务,例如 console.log() 打印一条日志、声明一个变量或...

  • 事件循环机制

    js是单线程的。浏览器: js执行线程:负责执行js代码 UI线程:负责UI展示,负责展示给用户看到的页面 js事...

  • 事件循环机制

    事件循环(evenloop) 事件循环机制是宿主环境提供的。js中处理异步,增加了任务队列的概念(你不知道的js中...

  • 事件循环机制

    静下心学了一波事件循环机制,好开心,我学会了,首先还是得感谢作者写的笔记特别详细 链接: http://www.c...

网友评论

      本文标题:event-loop 事件循环机制

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