Skip to content

刷新与失效

refresh() 强制重新加载(忽略有效缓存);invalidate() 标记数据失效,下次 get() 重新加载。

基本用法

typescript
const loader = new AsyncLoader(fn, { cache: 60_000, hash: "data" });
await loader.get();

await loader.refresh(); // 立即强制重载,返回新结果(若有进行中加载先中止)
loader.invalidate(); // 标记失效;下次 get() 才重新加载
await loader.get(); // 重新加载

方法对比

方法行为是否立即加载无缓存时是否生效
refresh(args?)清除缓存并立即重新加载;若有进行中加载先中止。返回新结果✅ 立即
invalidate()清除缓存项并重置已完成的信号,使下次 get() 重新加载❌ 否(由下次 get() 触发)
clear()清除当前实例的缓存项❌ 否❌ 仅缓存场景有意义

invalidate 的优势

invalidate()clear() 不同的是:它在无缓存(cache=0)时也生效——因为它会重置已完成的信号,从而让下次 get() 重新加载。

基于 MIT 许可协议发布