Javascript 服务工作者能否在fetch处理程序中使用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

我正在尝试使用缓存优先策略实现一个PWA,该策略还尝试通过在waitill()中提取数据来更新缓存资产。如果有多个请求同时(几乎同时)启动,这个函数会阻止并使边线程并发吗

这是我的密码:

 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的新手。

更仔细地阅读这篇文章,我找到了想要的答案:过时的重新验证方法正是我想要的