Javascript 标记为冗余的服务工作人员
服务工作者将不会安装,并保持其状态为冗余。刷新页面将在冗余状态灰色指示器中添加更多服务人员 我尝试了在self.addEventListener函数参数中安装console.login,它成功了。服务人员被标记为已激活且正在运行的绿色指示灯 下面将使服务人员变得多余Javascript 标记为冗余的服务工作人员,javascript,promise,service-worker,service-worker-events,Javascript,Promise,Service Worker,Service Worker Events,服务工作者将不会安装,并保持其状态为冗余。刷新页面将在冗余状态灰色指示器中添加更多服务人员 我尝试了在self.addEventListener函数参数中安装console.login,它成功了。服务人员被标记为已激活且正在运行的绿色指示灯 下面将使服务人员变得多余 self.addEventListener("install", function (event) { event.waitUntil( caches.open(CACHE_NAME).then(functi
self.addEventListener("install", function (event) {
event.waitUntil(
caches.open(CACHE_NAME).then(function (cache) {
var newImmutableRequests = [];
return Promise.all(
immutableRequests.map(function (url) {
return caches.match(url).then(function (response) {
if (response) {
return cache.put(url, response);
} else {
newImmutableRequests.push(url);
return Promise.resolve();
}
});
})
).then(function () {
return cache.addAll(newImmutableRequests.concat(mutableRequests));
});
})
);
});
下面的方法可以工作,但它不缓存文件
self.addEventListener("install", function (event) {
console.log("installed");
});
我希望安装service worker并能够缓存文件,但它会进入冗余状态。检查控制台是否有错误。如果出现故障,服务工作者将进入冗余状态 您的代码中至少有一个问题:
return caches.match(url).then(function (response) {
应该是没有s的缓存,对吗?caches是全局缓存API接口,而Cache在代码中是引用单个缓存实例的变量
<>同时,为了便于在代码中查找bug,请考虑添加错误处理。您的代码中没有任何Promise.catch处理程序,因此它只能吞下所有错误: