【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回调会被加入微任务队列,而不是立即执行,必须等待当前宏任务中的同步代码执行完成后才会执行。

相关推荐
瑞雪兆丰年兮2 小时前
[从0开始学Java|第十一天]ArrayList
java·开发语言
黄筱筱筱筱筱筱筱2 小时前
第三次Python练习题
开发语言·python
夜郎king2 小时前
基于 Java 实现数九天精准计算:从节气算法到工程化落地
java·开发语言
心柠2 小时前
原型和原型链
开发语言·javascript·ecmascript
悟能不能悟2 小时前
java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
java·开发语言
代码游侠2 小时前
C语言核心概念复习(三)
开发语言·数据结构·c++·笔记·学习·算法
烧烧的酒0.o2 小时前
Java——JavaSE完整教程
java·开发语言·学习
郝学胜-神的一滴2 小时前
深入Linux网络编程:accept函数——连接请求的“摆渡人”
linux·服务器·开发语言·网络·c++·程序人生
东东5162 小时前
校园短期闲置资源置换平台 ssm+vue
java·前端·javascript·vue.js·毕业设计·毕设