绕过服务工作者缓存

时间:2018-04-26 09:16:31

标签: service-worker progressive-web-apps sw-toolbox

我有一个渐进的网络应用程序,它与API有关。对这个api的调用由服务工作者缓存,效果很好。

但是现在,我想添加一个重新加载按钮,它理想地强制服务工作者试图绕过缓存并在成功时更新它,如果无法建立连接,它也不应该返回缓存结果。 / p>

我有点不确定如何解决这个问题。我使用的是sw-toolbox

2 个答案:

答案 0 :(得分:0)

根据您的描述,您正在使用应用程序缓存。它可以从独立于sw工具箱的应用程序访问。

 
  function onReloadButtonClicked(event) {
      //Check for browser cache support
      if ('caches' in window) {
        //Update cache if network query is successful
        caches.open('your_cache_name')
          .then(function(cache) {
            cache.add('your_url');
          }).catch(function(err) {
            // Do something with the error
          });
      }
    }

答案 1 :(得分:0)

所有请求都通过fetch回调接收request object。因此,在返回缓存响应之前,您可以look for an additional标头参数(您需要将其包含在API请求中)以跳过logic returning cached response