当前位置: 首页 > 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.yayakq.cn/news/68929/

相关文章:

  • 注册公司的网站万网网站建设万网网站建设
  • 网站建设 psd免费手机端网站模板
  • 外贸在哪个网站做今天体育新闻
  • 地产网站互动设计网站开发有哪些职位
  • 兖州建设局网站如何进行seo
  • 北京网站设计公司排行山东省建设项目备案证明网站
  • 安塞网站建设静态网站源码下载
  • 个人网站备案做论坛wordpress 用户介绍
  • wordpress游戏代练主题佛山公司推广优化
  • 行业信息网站有哪些怎么弄网页
  • 无锡百度网站推广各网站特点
  • 怎么做简单网站首页外国人做汉字网站
  • 不记得在哪里做的网站备案校园文化建设
  • 开发网站公司怎么样上海做网站 公司
  • 站酷网首页网站域名名字
  • 聊城手机网站网站建设公司选择标准
  • 网站seo优化皆宣徐州百都网络不错网站流量排名查询
  • 天河建设网站多少钱做网站每年要交不费用吗
  • 做炒作的网站大学专业网站
  • 找人做购物网站南昌做网站的流程
  • 休闲网站建设怎么编辑网站源码
  • 网站开发pdf平凉哪家做企业网站
  • 网站建设教程免费夕滋湖南岚鸿官网广州优化网站关键词
  • 十大免费网站推广格尔木网站建设公司
  • 网站建设制甘肃省城乡住房建设厅网站
  • 2017年网站建设高职考f卷企业管理系统有
  • 选择网站建设竞价交易
  • 中企动力高端网站建设微信营销手机
  • 如何做视频会员网站大同建设局网站
  • 建设网站的账务处理建设工程信息服务平台官网