gpt4 book ai didi

caching - 检查服务 worker 缓存中是否存在 URL

转载 作者:行者123 更新时间:2023-12-03 21:30:33 26 4
gpt4 key购买 nike

我写了下面的代码来检查特定的 URL 是否已经在 service worker 缓存中?但即使 URL 不存在于缓存中,它也会返回/控制台“在缓存中找到”。

var isExistInCache = function(request){
return caches.open(this.cacheName).then(function(cache) {
return cache.match(request).then(function(response){
debug_("Found in cache "+response,debug);
return true;
},function(err){
debug_("Not found in cache "+response,debug);
return false;
});
})
}

调用上面的函数作为
cache.isExistInCache('http://localhost:8080/myroom.css').then(function(isExist){
console.log(isExist);
})

最佳答案

来自 Cache.match 的文档功能, promise 总是得到解决。它通过 Response 解决如果未找到匹配项,则使用 undefined 对象。

因此,您必须像这样修改您的函数:

return caches.open(this.cacheName)
.then(function(cache) {
return cache.match(request)
.then(function(response) {
return !!response; // or `return response ? true : false`, or similar.
});
});

关于caching - 检查服务 worker 缓存中是否存在 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37181123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com