Ошибка в обслуживании кэшированных ответов на запросы в GraphQL - PullRequest
0 голосов
/ 14 января 2020

Я новичок ie для работника службы, я пишу пользовательский SW. js для моего реактивного проекта для поддержки pwa. Он имеет реализацию GraphQL в конце. Я кэшировал ответы ответов graphql, но не смог их обслужить, если пользователь перешел в автономный режим. Это пользовательский код фрагмента sw. js:

if(event.request.url=== 'https://my.custombackend.com/graphql'){
              console.log('graphql request incoming!');
            return event.respondWith(
              caches.match('/graphql').then(graphqlRes=>{     //THIS LINE IS CAUSING ERROR AS sw.js is unable to retrieve such match . But in image you can see I have already cached the graphql response.
               if(graphqlRes){
                console.log(graphqlRes)
                console.log('graphql request being served from cache');
                return graphqlRes;
               }
               else return fetch(event.request).then(cacheToBe=>{
                return caches.open(dynamicCache).then(newEntry=>{
                  console.log('graphql request served! Now caching...');
                  newEntry.put(event.request.url, cacheToBe.clone());
                  return cacheToBe;
                })
              })
            }))
          } 

Ожидаемое поведение: sw. js должно извлекать требуемые кэшированные данные '/ graphql'. Фактическое поведение: он не распознает это и возвращается в автономный режим. html

ссылка на изображение: https://i.stack.imgur.com/pV3jk.png

...