Skip to content

卸载可靠性 ​

验证页面卸载瞬间 leave / hide 停留标记能否搭上首批卸载 keepalive。概念见 事件生命周期。

判定为什么可信

卸载兜底只有一条发送路径 fetch(keepalive: true),所以给实例传一层 capture fetch 就能在同一调用栈内拿到批体。dispatchEvent 是同步派发,返回后零微任务立即判定 —— 与仓库里的回归测试 packages/lens/test/trace.test.ts 同构,只是把断言搬到了浏览器里。

这里没有概率

修复后命中率应当是确定性的 100%:竞态被结构性消除(管线条件同步化 + 生命周期相位派发),不再是「大概率成功」。若循环里出现任何一次 ❌,说明真有回归,请贴出轮次明细。切到「模拟修复前」注入 async beforeEmit 后应当掉到 0% —— 一个微任务的延迟就足以让 leave 错过整班车。

基于 MIT 协议发布(内部使用)