Javascript 服务工作者能否在fetch处理程序中使用waitill处理并发请求?
我正在尝试使用缓存优先策略实现一个PWA,该策略还尝试通过在waitill()中提取数据来更新缓存资产。如果有多个请求同时(几乎同时)启动,这个函数会阻止并使边线程并发吗 这是我的密码:Javascript 服务工作者能否在fetch处理程序中使用waitill处理并发请求?,javascript,progressive-web-apps,service-worker,Javascript,Progressive Web Apps,Service Worker,我正在尝试使用缓存优先策略实现一个PWA,该策略还尝试通过在waitill()中提取数据来更新缓存资产。如果有多个请求同时(几乎同时)启动,这个函数会阻止并使边线程并发吗 这是我的密码: self.addEventListener("fetch", (oEvent) => { oEvent.respondWith( caches.match(oEvent.request).then((oRes) => { if (oRes) { oEvent.wai
self.addEventListener("fetch", (oEvent) => { oEvent.respondWith(
caches.match(oEvent.request).then((oRes) => {
if (oRes) {
oEvent.waitUntil(fetch(oEvent.request)
.then((oFetchRes) => {
return caches.open(DYNAMIC_CACHE).then((oCache) => {
oCache.put(oEvent.request.url, oFetchRes);
});
}))
return oRes
} else {
return fetch(oEvent.request)
.then((oFetchRes) => {
return caches.open(DYNAMIC_CACHE).then((oCache) => {
oCache.put(oEvent.request.url, oFetchRes.clone());
return oFetchRes;
});
})
.catch(() => {
return new Response(JSON.stringify({}), {
status: 503,
statusText: "app_offline_and_missing_resource",
});
})
}
}) );});
欢迎任何帮助,我仍然是PWA的新手。更仔细地阅读这篇文章,我找到了想要的答案:过时的重新验证方法正是我想要的