是否可以在“install”事件的工作流之外将项目添加到服务工作线程缓存中,如果我这样做会发生什么情况?这是个坏主意吗?waitUntil
我有一个单页应用程序,我想在服务工作线程安装后立即缓存应用程序的主要组件和资产,然后延迟缓存一些用户可能无法访问的辅助页面。如果没有服务人员,我将动态导入这些辅助资产,因此用户无需在首次加载时下载它们。
我目前正在做的是:
self.addEventListener("install", e => {
e.waitUntil(
(async () => {
const cache = await caches.open(cacheName);
return cache.addAll(appShell);
})()
);
caches.open(cacheName).then(cache => {
return cache.addAll(secondaryPages);
});
});
secondaryPages正在由SW缓存,但我不确定这是否是最好的方法。我期望上面的代码说“在缓存appShell之前不要完成安装,但不要等待”。secondaryPages
这是否为我提供了我正在寻找的懒惰性能提升,或者我应该在以后将 添加到缓存中,例如,一旦在客户端中加载了内容,就会从应用程序触发消息事件?secondaryPages
明月笑刀无情
相关分类