iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > html >node.js中的事件循环是什么
  • 296
分享到

node.js中的事件循环是什么

2024-04-02 19:04:59 296人浏览 泡泡鱼
摘要

这篇文章主要介绍“node.js中的事件循环是什么”,在日常操作中,相信很多人在node.js中的事件循环是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js中

这篇文章主要介绍“node.js中的事件循环是什么”,在日常操作中,相信很多人在node.js中的事件循环是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js中的事件循环是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

事件循环模型

javascript引擎本身不实现事件循环机制。浏览器中的事件循环由浏览器实现的,nodejs中事件循环主要是由底层Libuv库实现的。

Libuv库是事件驱动的,其封装和统一了不同平台的api实现。NodeJS的跨平台和事件循环机制都是通过Libuv库实现的。【推荐学习:《nodejs 教程》】

node.js中的事件循环是什么

以上分四个步骤:

1、NodeJS的V8引擎解析JavaScript代码,然后调用Node API

2、NodeAPI将任务分配给Libuv库处理,

3、Libuv中通过事件循环机制管理这些任务的执行,处理结束后将结果返回给V8引擎。

4、V8引擎回调处理Libuv返回

微任务与宏任务

根据任务种类,划分不同的任务队列,微任务队列和宏任务队列。

宏任务:setTimeout、setInterval、setImmediate

微任务:promise.then()、promise.catch()、process.nextTick()

事件循环各阶段

  • timers阶段:执行所有setTimeout和setInterval的回调

  • pendding callback阶段:某些系统操作的回调。如tcp连接的错误

  • poll阶段:轮询等待新的链接和请求等事件,执行I/O回调。比如:文件读取操作

  • check阶段:执行setImmedidate的回调

  • close callback阶段:关闭回调执行,如Socket.on(close...)

每个阶段都会执行当前阶段的任务队列,然后再执行当前阶段的微任务队列,只有执行完所有微任务才进行入下一阶段。

浏览器中事件循环区别:

浏览器中没有分多个阶段;优先级别:同步代码,微任务,宏任务

浏览器中,宏任务可能会有多个队列,但是微任务只有一个,每次都会先执行完微任务再执行宏任务

陈述总结

主要学习了,NodeJS的事件循环的模型,从V8引擎解析JS代码,然后调用NodeAPI,NodeAPI将任务分配给底层Libuv库去执行,主要事件循环机制都是由Libuv库完成的。

整个事件循环划分了6个阶段:timer阶段,pendding callback阶段、poll阶段、check阶段、close callback阶段,执行的顺序是:每个阶段中的任务队列执行完后再执行微任务,只有微任务执行完成后再执行下一个阶段。浏览器的事件循环没有划分阶段,优先级顺序:同步代码、微任务、宏任务。

面试题

题1:你对NodeJS的事件循环的理解?

回答:我对事件循环的理解Node是单线程的,主线程将所有任务都放在循环队列中,然后由底层的libuv库从循环事件队列中取出任务分配给不同的线程去处理,主线程同时也会进行回调处理,整个过程形成事件循环。

与浏览器事件循环不同点:

1、浏览器没有划分多个阶段

2、浏览器任务优先级:同步代码,微任务,宏任务

题2:事件队列中的任务执行顺序?

回答:NodeJS事件循环是划分多个阶段,执行顺序是:一个阶段执行完成后,再执行微任务,然后再进行下一阶段的执行。

到此,关于“node.js中的事件循环是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: node.js中的事件循环是什么

本文链接: https://www.lsjlt.com/news/75631.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • node.js中的事件循环是什么
    这篇文章主要介绍“node.js中的事件循环是什么”,在日常操作中,相信很多人在node.js中的事件循环是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”node.js中...
    99+
    2022-10-19
  • Node.js事件循环是什么
    本文小编为大家详细介绍“Node.js事件循环是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js事件循环是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。什么是事件循环首先我们需要了解一下最基...
    99+
    2023-07-04
  • Node.js中事件循环的概念是什么
    这篇文章主要讲解了“Node.js中事件循环的概念是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node.js中事件循环的概念是什么”吧!什么是事件循...
    99+
    2022-10-19
  • Node.js中事件循环的机制是什么
    本篇内容介绍了“Node.js中事件循环的机制是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!先看一个demo:setTimeout((...
    99+
    2023-06-17
  • Node的事件循环是什么
    这篇文章主要介绍“Node的事件循环是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node的事件循环是什么”文章能帮助大家解决问题。一、什么是事件循环一句话:事件循环是Nodejs处理异步操作...
    99+
    2023-07-05
  • nodejs事件循环是什么
    这篇文章主要讲解了“nodejs事件循环是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs事件循环是什么”吧!我们都听说过 JavaScript 和 Node.js 是单线程的...
    99+
    2023-07-04
  • Node.js中事件循环的方法
    本文小编为大家详细介绍“Node.js中事件循环的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Node.js中事件循环的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Node 自身的执行模型——事件循...
    99+
    2023-06-17
  • Node.js中怎么实现事件循环
    这篇文章将为大家详细讲解有关Node.js中怎么实现事件循环,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Node.js 事件循环Node.js 是单进程单...
    99+
    2022-10-19
  • 什么是​事件循环event loop
    这篇文章给大家介绍什么是事件循环event loop,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。事件循环event loop。一个老生常谈的问题,之所以拿出来说,推荐的原因在于:通过...
    99+
    2022-10-19
  • Node.js事件循环怎么实现
    这篇文章主要介绍“Node.js事件循环怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Node.js事件循环怎么实现”文章能帮助大家解决问题。在进程启动时,Node 便会创建一个类似于&nb...
    99+
    2023-07-04
  • Node事件循环的流程是什么
    这篇文章主要讲解了“Node事件循环的流程是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Node事件循环的流程是什么”吧!我们都知道目前我们用的应用程...
    99+
    2022-10-19
  • JavaScript事件循环的原理是什么
    今天小编给大家分享一下JavaScript事件循环的原理是什么的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。理解 JavaS...
    99+
    2023-07-04
  • Node.js中事件循环的示例分析
    这篇文章主要介绍Node.js中事件循环的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Node 自身的执行模型——事件循环,正是它使得回调函数十分普遍。在进程启动时,Nod...
    99+
    2022-10-19
  • Node事件循环机制是什么
    这篇文章主要介绍“Node事件循环机制是什么”,在日常操作中,相信很多人在Node事件循环机制是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node事件循环机制是什么”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-07-05
  • Node.js中如何实现事件循环
    今天就跟大家聊聊有关Node.js中如何实现事件循环,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。 Node.js  事件循环详...
    99+
    2022-10-19
  • Node事件循环中的微任务队列是什么
    这篇文章主要介绍“Node事件循环中的微任务队列是什么”,在日常操作中,相信很多人在Node事件循环中的微任务队列是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Node事件循环中的微任务队列是什么”的疑...
    99+
    2023-07-06
  • Node.js中的Buffer和事件循环实例分析
    这篇“Node.js中的Buffer和事件循环实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来...
    99+
    2022-10-19
  • 小结Node.js中非阻塞IO和事件循环
      学习和使用Node.js已经有两个月,使用express结合mongoose写了一个web应用和一套RESTful web api,回过头来看Node.js官网首页对Node.js的介绍:Node.js...
    99+
    2022-06-04
    中非 小结 事件
  • JavaScript中的事件循环方式
    目录概述原理同步>微任务>宏任务案例解析能否先将promise.then分发到微任务中js是单线程,非阻塞,试想如果是多线程,一个线程在某个DOM节点上添加内容,另一个线...
    99+
    2022-11-13
  • node事件循环中事件执行的顺序
    目录事件循环浏览器环境事件循环node环境事件循环六个阶段(1) setTimeout 和 setImmediate(2) process.nextTick练习例子总结:事件循环 在...
    99+
    2022-11-12
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作