首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >深入事件循环:Promise 与 setTimeout 在浏览器中的执行时序为何总是出乎意料

深入事件循环:Promise 与 setTimeout 在浏览器中的执行时序为何总是出乎意料

作者头像
用户1839651
发布于 2026-10-06 08:51:58
发布于 2026-10-06 08:51:58
190
举报
概述
把 async/await 和 setTimeout 混在一起写的时候,经常出现“明明 setTimeout 写在前面,为什么反而是 Promise 先执行”的情况。比如在一个按钮点击回调里先调 setTimeout 打印 1,然后调一个 async 函数,里面同步打印 2,接着 await 一个已 resolve 的 Promise,再打印 3,最后在同步代码末尾打印 4。手写执行顺序时很容易写

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档