卸载可靠性
验证页面卸载瞬间 leave / hide 停留标记能否搭上首批卸载 keepalive。概念见 事件生命周期。
判定为什么可信
卸载兜底只有一条发送路径 fetch(keepalive: true),所以给实例传一层 capture fetch 就能在同一调用栈内拿到批体。dispatchEvent 是同步派发,返回后零微任务立即判定 —— 与仓库里的回归测试 packages/lens/test/trace.test.ts 同构,只是把断言搬到了浏览器里。
这里没有概率
修复后命中率应当是确定性的 100%:竞态被结构性消除(管线条件同步化 + 生命周期相位派发),不再是「大概率成功」。若循环里出现任何一次 ❌,说明真有回归,请贴出轮次明细。切到「模拟修复前」注入 async beforeEmit 后应当掉到 0% —— 一个微任务的延迟就足以让 leave 错过整班车。