node.js事件轮询机制原理知识点


Posted in Javascript onDecember 22, 2019

借助libuv库实现的

概括事件轮询机制:分为六个阶段

1.timers 定时器阶段

计时和执行到点的定时器回调函数

2.pending callbacks

某些系统操作(例如TCP错误类型)

3.idle,prepare

4.poll轮询阶段(轮询队列)

如果轮询队列不为空,依次同步取出轮询队列中第一个回调函数,直到轮询队列为空或者达到系统最大限制

如果轮询队列为空

如果之前设置过setImmediate函数,直接进入下一个check阶段,如果之前没有设置过setImmediate函数,在当前 poll阶段等待,直到轮询队添加回调函数,就会去第一个情况执行,如果定时器到点了,他也会去下一个阶段

5.check查阶段

执行setImmediate设置的回调函数

6.close callbacks关闭阶段

close事件回调函数

process.nextTick()的意思就是定义出一个动作,pengd并且让这个动作在下一个事件轮询的时间点上执行。能在任意阶段优先执行

以上就是本次介绍的全部知识点内容,感谢大家的学习和对三水点靠木的支持。

Javascript 相关文章推荐
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
Aug 09 Javascript
基于jquery实现的定时显示与隐藏div广告的实现代码
Aug 22 Javascript
改变隐藏的input中value的值代码
Dec 30 Javascript
微信小程序 教程之注册页面
Oct 17 Javascript
js闭包用法实例详解
Dec 13 Javascript
微信小程序 跳转方式总结
Apr 20 Javascript
webpack 1.x升级过程中的踩坑总结大全
Aug 09 Javascript
js中apply()和call()的区别与用法实例分析
Aug 14 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
Jun 03 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
Vue利用localStorage本地缓存使页面刷新验证码不清零功能的实现
Sep 04 Javascript
javascript实现fetch请求返回的统一拦截
Dec 22 #Javascript
详解vue-router 动态路由下子页面多页共活的解决方案
Dec 22 #Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 #Javascript
javascript中的相等操作符(==与===区别)
Dec 21 #Javascript
JavaScript中的相等操作符使用详解
Dec 21 #Javascript
高性能js数组去重(12种方法,史上最全)
Dec 21 #Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 #Javascript
You might like
PHP new static 和 new self详解
2017/02/19 PHP
javascript编程起步(第二课)
2007/01/10 Javascript
js setattribute批量设置css样式
2009/11/26 Javascript
JavaScript中的some()方法使用详解
2015/06/09 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
Windows下快速搭建NodeJS本地服务器的步骤
2017/08/09 NodeJs
javaScript手机号码校验工具类PhoneUtils详解
2017/12/08 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
微信小程序封装的HTTP请求示例【附升级版】
2019/05/11 Javascript
js实现上传图片并显示图片名称
2019/12/18 Javascript
详解vue中在循环中使用@mouseenter 和 @mouseleave事件闪烁问题解决方法
2020/04/07 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
2020/08/04 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
python网络爬虫 CrawlSpider使用详解
2019/09/27 Python
关于pycharm中pip版本10.0无法使用的解决办法
2019/10/10 Python
html5标记文字_动力节点Java学院整理
2017/07/11 HTML / CSS
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
英国拖鞋购买网站:Bedroom Athletics
2020/02/28 全球购物
英国设计师珠宝网站:Joshua James Jewellery
2020/03/01 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
工商学院毕业生自荐信
2013/11/12 职场文书
大学生旅游业创业计划书
2014/01/29 职场文书
小学生家长评语集锦
2014/01/30 职场文书
学生个人自我鉴定范文
2014/03/28 职场文书
难忘的一天教学反思
2014/04/30 职场文书
奉献演讲稿范文
2014/05/21 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
2014年卫生监督工作总结
2014/12/09 职场文书
2015年个人剖析材料范文
2014/12/29 职场文书
在redisCluster中模糊获取key方式
2021/07/09 Redis
基于HTML十秒做出淘宝页面
2021/10/24 HTML / CSS
Python实现日志实时监测的示例详解
2022/04/06 Python
SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理
2022/06/21 Java/Android