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

佛山新网站制作代理商旅游公司网站 优帮云

佛山新网站制作代理商,旅游公司网站 优帮云,平面设计公司创业计划书,嘉兴seo网络推广😺😺Promise 本身的执行、回调注册、状态改变 都在主线程进行。 真正的“异步”工作(比如请求、定时器、文件读写)由浏览器或 Node 的后台线程/模块处理完成,完成后通过事件队列再通知主线程执行后续逻辑**。 JS 只有…

😺😺Promise 本身的执行、回调注册、状态改变 都在主线程进行。
真正的“异步”工作(比如请求、定时器、文件读写)由浏览器或 Node 的后台线程/模块处理完成,完成后通过事件队列再通知主线程执行后续逻辑**。

JS 只有一个主线程,但它背后站着一群“打下手”的模块帮它做事(比如 I/O、定时器)!

😺😺 用图理解(文字版图示)

JS主线程(运行 JS 代码)

├─ 执行 Promise 代码(同步部分)

├─ 发出异步请求(如 Ajax、setTimeout)

└─ 把“回调函数”交给浏览器或 Node 的“异步模块”处理

[浏览器/Node 异步模块,如 libuv、Web APIs]
↓(一段时间后)
结果准备好了!

把回调放入“事件队列”(任务队列)

[主线程空了? → 从队列中取出 → 执行 then() 的回调]

😺😺例子解释

console.log(‘1’);

setTimeout(() => {
console.log(‘2’);
}, 0);

Promise.resolve().then(() => {
console.log(‘3’);
});

console.log(‘4’);

输出是:

1
4
3
2

解释:

阶段 发生了什么
主线程执行 打印 1
注册 setTimeout 回调 交给浏览器 Web API 模块处理
注册 Promise.then 回调 加入 微任务队列
打印 4
主线程空了,先执行微任务队列 打印 3
然后执行宏任务队列中的 setTimeout 回调 打印 2

😺😺总结
在这里插入图片描述

😺😺什么是微任务队列?

微任务队列(Microtask Queue):是一个专门用于存放**“Promise 的回调函数”**等细粒度任务的小任务队列。
它的执行优先级比普通的回调(如 setTimeout)更高。

JavaScript 任务队列分类(一定要知道)

在这里插入图片描述

😺 举个例子说明执行顺序

console.log(‘1’);

setTimeout(() => {
console.log(‘2’);
}, 0);

Promise.resolve().then(() => {
console.log(‘3’);
});

console.log(‘4’);

输出顺序是:

1
4
3 ← 微任务
2 ← 宏任务

因为:
• Promise.then() 里的任务进了微任务队列
• setTimeout 的回调进了宏任务队列
• 当前事件循环中,先清空微任务队列,再执行下一个宏任务

😺😺那这个“微任务队列”的能力是谁赋予的?
答案是:JavaScript 引擎(如 V8)+ 执行环境(如浏览器、Node.js)共同实现了事件循环机制,包括微任务队列的调度。

分工如下:

在这里插入图片描述

😺所以总结来说:

微任务队列是JavaScript 运行时环境中的一个调度机制,用于安排那些紧接着当前执行完成后就要执行的任务。

“同步完了立刻清微任务,微任务清完才轮宏任务。”

😺demo:如何手动创建微任务?

queueMicrotask(() => {
console.log(‘我是一个微任务’);
});

它跟 .then() 效果一样,只不过不依赖 Promise。

需要我给你配一个浏览器事件循环调度过程的动画图吗?或者写个 async/await + 微任务 + 宏任务顺序的例子?你一看就懂。

举个例子说明执行顺序

console.log(‘1’);

setTimeout(() => {
console.log(‘2’);
}, 0);

Promise.resolve().then(() => {
console.log(‘3’);
});

console.log(‘4’);

输出顺序是:

1
4
3 ← 微任务
2 ← 宏任务

因为:
• Promise.then() 里的任务进了微任务队列
• setTimeout 的回调进了宏任务队列
• 当前事件循环中,先清空微任务队列,再执行下一个宏任务

http://www.dtcms.com/a/612210.html

相关文章:

  • 哪里有最新的网站源码电商网站用什么框架做
  • 网站脑图怎么做wordpress4.7.5下载
  • 大同建设银行保安招聘网站锐途网站建设
  • 网站更新内容vs2017移动网站开发
  • 买表的网站商城小程序开发需要多少钱
  • 河北建设工程信息网站旧版百度网址大全下载
  • 兰州seo安安网站建设wordpress 公司建站
  • 佛山网站建设过程如何做淘宝商城网站
  • asp网站建设流程py和php做网站哪个好
  • 淮安做微信网站品牌网站设计公司哪家好
  • 汉服网站怎么做西安市建设工程信息网工程交易平台
  • 网站首页布局自适应宝塔搭建网站教程
  • 网站地图怎么提交广州企业搜索引擎优化服务
  • 我认为的网络营销是什么windows优化大师可以卸载吗
  • seo推广淘客外贸seo优化公司
  • 好的平面网站模板wordpress分类图片
  • 工信部网站备案变更电商网站开发毕业设计
  • 2025/11/13 -- 组队系统
  • 网站没有权重百度竞价排名公式
  • 网站建设前的市场分析加强网站内容建设的意见
  • html成品网站新闻源软文推广平台
  • 做生鲜食品最好的网站行唐网站建设
  • C语言是什么编译? | 了解C语言编译过程及其重要性
  • 买个网站多少钱北京网站策划联系电话
  • 怎么建免费网站泸州市建设工程管理局网站
  • 国内免费的建网站平台做照片用的视频模板下载网站
  • 做网站与网店运营wordpress小工具放入用户中心
  • 如何让 AI 按照你的预期输出
  • 河南网站建设首选公司微网站怎么做的好名字吗
  • 做衣服外单网站有哪些重庆网络公司做什么生意好