感知 pending 状态的 inflight 去重。
fn 的第一个参数为 PendingFnParams,包含 scope 和 getPendingCount, 允许根据 pending 状态做自定义处理(如短路检查、日志等)。 返回的函数剥掉 PendingFnParams,只暴露业务参数。
静态 scope 字符串,或基于参数动态生成 scope 的函数
接收 PendingFnParams 的回调函数
只保留业务参数的包装函数
基于 scope 的 inflight 去重。
同一 scope 下并发调用只执行一次 fn,所有 callers 共享同一个 Promise 结果。 执行完毕后 scope 释放,下一次调用开启新的执行周期。
包装后的去重函数
清除此实例的 scope 注册表,允许已注册的 scope 重新注册。
用于测试场景(afterEach)或 HMR dispose 钩子中重置状态。
createPending返回的实例接口每个实例持有独立的 scope 注册表,实例间互不干扰。