用户1839651
深入事件循环:Promise 与 setTimeout 在浏览器中的执行时序为何总是出乎意料
原创
关注作者
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
用户1839651
社区首页
>
专栏
>
深入事件循环:Promise 与 setTimeout 在浏览器中的执行时序为何总是出乎意料
深入事件循环:Promise 与 setTimeout 在浏览器中的执行时序为何总是出乎意料
用户1839651
关注
发布于 2026-10-06 08:51:58
发布于 2026-10-06 08:51:58
19
0
举报
概述
把 async/await 和 setTimeout 混在一起写的时候,经常出现“明明 setTimeout 写在前面,为什么反而是 Promise 先执行”的情况。比如在一个按钮点击回调里先调 setTimeout 打印 1,然后调一个 async 函数,里面同步打印 2,接着 await 一个已 resolve 的 Promise,再打印 3,最后在同步代码末尾打印 4。手写执行顺序时很容易写
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系
cloudcommunity@tencent.com
删除。
浏览器
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档