首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >JavaScript 事件循环中的微任务执行时机:一次真实的 Bug 排查记录

JavaScript 事件循环中的微任务执行时机:一次真实的 Bug 排查记录

作者头像
用户12771345
发布于 2026-11-15 15:33:16
发布于 2026-11-15 15:33:16
130
举报
概述
上个月在维护一个用户行为上报 SDK 时遇到了一个诡异的问题:页面上某个按钮的点击回调里,同步修改了状态变量,紧接着用 Promise.then 发送上报请求,再在 setTimeout 里读取状态变量,结果读到的竟然是修改前的旧值。代码逻辑看起来没问题,状态确实在同步代码里改了,但异步回调里拿到的却是旧值。排查后发现是事件循环中微任务与宏任务的执行顺序被我们误解了。微任务在每次宏任务执行完、当前

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

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

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