【发布时间】:2019-07-08 08:59:26
【问题描述】:
Service Worker 不会安装,并且会一直处于冗余状态。刷新页面将添加更多处于冗余状态的 Service Worker(灰色指示符)。
我已经在 self.addEventListener 函数参数中尝试了 console.log("installed") 并且它有效。 Service Worker 被标记为已激活并正在运行(绿色指示灯)
下面会让service worker变得多余
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 已安装并能够缓存文件,但它反而进入了冗余状态。
【问题讨论】:
标签: javascript promise service-worker service-worker-events