阅读已清除的缓存数据
P粉556159786
2023-08-09 16:15:34
<p>我有一个模块测试:</p>
<pre class="brush:php;toolbar:false;">var myCache = await caches.open("test"); // 创建一个新的缓存
await myCache.add(new Request("/index.html")); // 页面成功存储
await caches.delete("test");
myCache.match("/index.html"); // 我仍然能从已删除的缓存中读取!</pre>
<p>在删除缓存之后,我在浏览器检查器中看不到它了,但我仍然可以通过<code>.match</code>方法获取响应。在这里我期望发生错误,请解释这种意外行为。</p>
似乎MDN网站上对于CacheStorage.delete的描述存在混淆。实际上,对象没有被删除。W3C规范中指定了cacheJobPromise仅仅会删除映射中的键,而不是对象本身