当前位置: 首页 > news >正文

网站是用什么做的中国国家培训网靠谱吗

网站是用什么做的,中国国家培训网靠谱吗,网站设计分析,广西南宁网站制作文章目录 1. NodeJS1.1 Node.js 事件循环概念1.2 Node.js 事件循环工作流程1.3 Node.js 事件循环示例 2. 浏览器2.1 浏览器事件循环概念2.2 浏览器事件循环工作流程2.3 浏览器事件循环示例 1. NodeJS 1.1 Node.js 事件循环概念 在 Node.js 中,事件循环由 libuv 库…

文章目录

  • 1. NodeJS
    • 1.1 Node.js 事件循环概念
    • 1.2 Node.js 事件循环工作流程
    • 1.3 Node.js 事件循环示例
  • 2. 浏览器
    • 2.1 浏览器事件循环概念
    • 2.2 浏览器事件循环工作流程
    • 2.3 浏览器事件循环示例

1. NodeJS

1.1 Node.js 事件循环概念

Node.js 中,事件循环libuv 库实现,它是跨平台的,可以让 Node.js 高效地处理非阻塞 I/O 操作。

1.2 Node.js 事件循环工作流程

事件循环的工作流程如下

步骤描述
1事件循环开始 (Start)
2执行同步任务 (Sync Tasks) 并将它们添加到调用栈 (Call Stack)
3检查宏任务 (Check Macro Tasks) 并将它们添加到宏任务队列 (Macro Tasks Queue)
4执行宏任务 (Execute Macro Tasks)
5检查微任务 (Check Micro Tasks) 并将它们添加到微任务队列 (Micro Tasks Queue)
6执行微任务 (Execute Micro Tasks)
7再次检查宏任务 (Check Macro Tasks) 并循环执行上述步骤直到所有任务执行完毕
8事件循环结束 (End)

1.3 Node.js 事件循环示例

console.log('Start');setTimeout(() => {console.log('setTimeout');
}, 0);setImmediate(() => {console.log('setImmediate');
});Promise.resolve().then(() => {console.log('Promise');
});process.nextTick(() => {console.log('nextTick');
});console.log('End');// 输出:
// Start
// End
// nextTick
// Promise
// setTimeout
// setImmediate

2. 浏览器

2.1 浏览器事件循环概念

浏览器中,事件循环由 JavaScript 引擎(如 V8)和 Web APIs 共同实现。

2.2 浏览器事件循环工作流程

事件循环的工作流程与 Node.js 类似,但有一些细节有所不同:

步骤描述
1事件循环开始 (Start)
2执行同步任务 (Sync Tasks) 并将它们添加到调用栈 (Call Stack)
3检查宏任务 (Check Macro Tasks) 并将它们添加到宏任务队列 (Macro Tasks Queue)
4执行宏任务 (Execute Macro Tasks)
5检查微任务 (Check Micro Tasks) 并将它们添加到微任务队列 (Micro Tasks Queue)
6执行微任务 (Execute Micro Tasks)
7再次检查宏任务 (Check Macro Tasks) 并循环执行上述步骤直到所有任务执行完毕
8事件循环检查是否有任何 Web APIs 任务需要执行 (如 DOM 事件、fetch 请求)
9如果有 Web APIs 任务需要执行,将它们添加到任务队列 (Task Queue) 并执行
10事件循环检查是否有任何 I/O 操作完成
11如果有 I/O 操作完成,将它们添加到任务队列 (Task Queue) 并执行
12事件循环检查是否有任何 setImmediate 任务需要执行
13如果有 setImmediate 任务需要执行,将它们添加到任务队列 (Task Queue) 并执行
14事件循环检查是否有任何任务需要执行 (包括宏任务、微任务、Web APIs 任务、I/O 操作完成的任务、setImmediate 任务)
15如果有任务需要执行,将它们从任务队列中取出并执行
16事件循环结束 (End)

2.3 浏览器事件循环示例

console.log('Start');setTimeout(() => {console.log('setTimeout');
}, 0);document.addEventListener('DOMContentLoaded', () => {console.log('DOMContentLoaded');
});Promise.resolve().then(() => {console.log('Promise');
});requestAnimationFrame(() => {console.log('requestAnimationFrame');
});console.log('End');// 输出:
// Start
// End
// Promise
// requestAnimationFrame
// DOMContentLoaded
// setTimeout
http://www.wangmingla.cn/news/137220.html

相关文章:

  • 临沂科技学校网站建设汕头最好的seo外包
  • wordpress 2云南seo公司
  • wordpress adminbar做seo排名好的公司
  • 提高网站权重的作用免费发外链
  • 广州网站建设 易企建站软文营销平台
  • 陕西网站备案流程优化设计五年级上册语文答案
  • 让别人做网站如何防止后门乔拓云智能建站系统
  • 建设部网站79号文件百度软件下载安装
  • 如何在公司建网站系统360站长工具
  • 网站免费推广的方法网络工程师培训机构排名
  • 做行业网站赚钱网站卖链接
  • 网站建设到哪个店做58网络推广
  • 电子商务网站建设的目标荆门刚刚发布的
  • 在浏览器上建设网站软文是什么东西
  • 网站服务器类型查询成都seo外包
  • 新余专业做淘宝网站东莞网站关键词优化公司
  • 网站登录验证码显示不出来企业网站优化外包
  • wordpress.org.cn拼多多seo搜索优化
  • 网络营销的发展趋势和前景官网排名优化方案
  • 佛山市企业网站建设哪家好武汉谷歌seo
  • 公司设计网站需要注意哪些建网站的流程
  • 做印刷品去哪个网站深圳seo优化排名公司
  • 网站开发待遇怎么样软文营销写作技巧
  • 页面简单的网站模板免费下载热门职业培训班
  • 如何做美女图片网站网站seo设置是什么
  • wap网站开发工具如何关闭2345网址导航
  • 广州建站客服招聘关键词搜索优化
  • 武陟网站建设如何建立公司网站网页
  • php做一个简单的动态网站安徽百度seo公司
  • 南通优化网站怎么收费网络营销平台名词解释