【js】Javascript事件循环机制

【日期】:20260203

【问题】:

这段代码输出什么

javascript 复制代码
const promise = new Promise((resolve, reject) => {
console.log(1);
setTimeout(() => {
console.log("timerStart");
resolve("success");
console.log("timerEnd");
}, 0);
console.log(2);
});

promise.then((res) => {
console.log(res);
});

console.log(4);

【原因】:

先执行所有同步代码

再执行微任务队列

最后执行宏任务队列

【总结】

resolve调用后,then回调会被加入微任务队列,而不是立即执行,必须等待当前宏任务中的同步代码执行完成后才会执行。

相关推荐
cany10007 分钟前
C++ -- 泛型编程
java·开发语言·c++
格林威9 分钟前
面阵相机 vs 线阵相机:堡盟与海康相机选型差异全解析 附C++ 实战演示
开发语言·c++·人工智能·数码相机·计算机视觉·视觉检测·工业相机
时空系37 分钟前
第7篇功能——打造你的工具箱 python中文编程
开发语言·python·ai编程
shughui37 分钟前
2026最新JDK版本选择及下载安装详细图文教程【windows、mac附安装包】
java·linux·开发语言·windows·jdk·mac
Wenzar_37 分钟前
# D3.js实战进阶:从基础图表到交互式数据仪表盘的全流程构建在现代前端开发中,**数据可视化已成为提升用户体验的核心能力之一
java·javascript·python·信息可视化·ux
菜鸟小码40 分钟前
MapReduce 编程模型详解:Mapper、Reducer、Driver 三大核心组件
大数据·javascript·mapreduce
AI玫瑰助手41 分钟前
Python基础:集合的定义、去重与交并差运算
开发语言·python·信息可视化
无敌秋42 分钟前
# C++ 工厂方法模式实战指南
开发语言·c++·设计模式
林恒smileZAZ1 小时前
CSS 滚动驱动动画(scroll-timeline):无 JS 实现滚动特效
前端·javascript·css
skywalk81631 小时前
CodeArts碰到问题:CodeArts 智能体使用失败,显示:会话创建失败,请稍后重试
开发语言·python