1

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

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作为参考。

4

1 回答 1

0

这个功能对我有用:

  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);
    });
  }
};
于 2021-04-26T12:05:33.480 回答