Событие извлечения работника службы не вызывается при вызове удаленного API - PullRequest
0 голосов
/ 18 марта 2020

Я пытаюсь внедрить работника службы для кэширования удаленных ответов API. Я могу успешно зарегистрироваться и активировать работника службы, но событие извлечения никогда не запускается для вызовов XHR или Fetch. Он запускается только для активов c.

Работник службы загружается с пути root <script src="sw.js"></script>

Работник службы (sw. js)

if ('serviceWorker' in navigator) {
    window.addEventListener('load', function () {
        navigator.serviceWorker.register('sw.js', {
            scope: '/my-api'
        }).then(function (registration) {
            console.log('registration OK');
        }, function (err) {
            console.log('registration ERROR');
        });
    });
}

self.addEventListener('install', event => {
    event.waitUntil(self.skipWaiting());
});

self.addEventListener('activate', function (event) {
    event.waitUntil(self.clients.claim());
});

self.addEventListener('fetch', function (event) {
    // This is never fired !
});

Удаленный вызов API

fetch('my-api/hello')
    .then((response) => response.json())
    .then(json => {
        console.log(json);
    });

Не могли бы вы мне помочь?

Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...