微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

缓存匹配在反应中返回未定义

如何解决缓存匹配在反应中返回未定义

我正在尝试为我的 React 应用程序创建一个 service worker,我只是在玩弄东西。 当我使用 cache.match 时,我得到 undefined 返回给我,但是当我使用 cache.matchAll 时,我得到了所有的响应对象,但我不确定为什么。我认为这与我缓存的页面中有链接有关,但我不确定。


    const cacheName = 'v2'
    const cacheFiles = ['http://localhost:3000/index.html']
    
    self.addEventListener('install',(e)=>{
      console.log('installed');
      e.waitUntil(
        caches
        .open(cacheName)
        .then(cache => {
          self.skipwaiting();
          return cache.addAll(cacheFiles);
        })
      )
    
    })
    
    self.addEventListener('activate',(e)=>{
      console.log('activated');
    })
    
    
    
    self.addEventListener('fetch',(e)=>{
      console.log(e.request);
    
      e.waitUntil(
        caches.open(cacheName).then(cache => {
          cache.match(e.request).then(res => {
            console.log('The response',res);
            return test
          })
        })
      )

})

获取请求包括 index.html 以外的文件,因为它是一个 React 应用程序,并且还需要请求 bundle.js 之类的东西。

解决方法

问题是我缓存了一个与请求名称不匹配的网址

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。