caches.delete 没有删除任何内容

caches.delete is not deleting anything

我正在尝试编写一个函数来接受一个字符串并从缓存内存中删除正确的项目。我的函数是:

export const removeItemFromCache = async (name: string | null) => {
  console.log('got here with name:', name)
  if (!name) return;
  await caches.delete(name);
};

在控制台中,我看到 got here with name: files/4325 而且我显然有一个同名的项目。

我使用这个功能的方式是:

  await removeItemFromCache(file.name);

但即使在我刷新缓存甚至重新加载页面后,文件仍保留在缓存中。我是不是遗漏了什么/做错了什么?

我用这个https://developer.mozilla.org/en-US/docs/Web/API/CacheStorage/delete作为参考。

这个功能对我有用:

  export const removeItemFromCache = async (name: string) => {
  for (const entry of await caches.keys()) {
    window.caches.open(entry).then(async cache => {
      return await cache.delete(name);
    });
  }
};