创建独立的 pending 实例
每个实例持有自己的 scope 注册表,实例间完全隔离。
HMR / 热重载场景:在模块顶层调用 createPending() 而非使用全局的 pending / pendingFn——模块重新评估时自然得到全新实例,旧注册状态不再 干扰,无需手动清理。
createPending()
pending
pendingFn
// 模块内独立实例,HMR 重载后自动重置const { pending, pendingFn } = createPending();const fetchConfig = pending('config', () => fetch('/api/config').then(r => r.json())); Copy
// 模块内独立实例,HMR 重载后自动重置const { pending, pendingFn } = createPending();const fetchConfig = pending('config', () => fetch('/api/config').then(r => r.json()));
const myPending = createPending();import.meta.hot?.dispose(() => myPending.clear()); Copy
const myPending = createPending();import.meta.hot?.dispose(() => myPending.clear());
创建独立的 pending 实例
每个实例持有自己的 scope 注册表,实例间完全隔离。
HMR / 热重载场景:在模块顶层调用
createPending()而非使用全局的pending/pendingFn——模块重新评估时自然得到全新实例,旧注册状态不再 干扰,无需手动清理。