Trabalhador de serviço: buscar ouvinte de eventos só funciona após o recarregamento da página

Adicionei um trabalhador de serviço à minha página com o código abaixo. Funciona bem quando a página é recarregada e o trabalhador já instalado. Mas não parece capturar nenhum evento de busca antes que a página seja recarregada depois que eu vi o'SW INSTALL' registro.

app.js

navigator.serviceWorker.register('/worker.js').then((registration) =>
{
    console.log('ServiceWorker registration successful with scope: ', 
registration.scope);
}, (err) =>
{
    console.log('ServiceWorker registration failed: ', err);
});

worker.js

self.addEventListener('install', function (event)
 {
    console.log("SW INSTALL");
 });

self.addEventListener('fetch', function (event)
{
    console.log("FETCHING", event);
    event.respondWith(
            caches.match(event.request)
                    .then(function (response, err)
                            {
                                // Cache hit - return response
                                if (response)
                                {
                                    console.log("FOUND", response, err);
                                    return response;
                                }
                                console.log("MISSED", event.request.mode);
                                return fetch(event.request)
                            }
                    )
    );
});

questionAnswers(1)

yourAnswerToTheQuestion