ServiceWorkerContainer.ready para um scriptURL específico?

ServiceWorkerContainer.ready resolve para um ServiceWorkerRegistration ativo, mas se houver vários trabalhadores em serviço em execução (por exemplo, trabalhadores em serviço de carregamentos de páginas anteriores, vários registros na mesma página), há vários trabalhadores em serviço aos quais ele poderia resolver. Como posso garantir que um trabalhador de serviço específico esteja lidando com eventos de rede quando um pedaço de código é executado?

Ou seja, como posso escrever uma funçãoregisterReady(scriptURL, options) que pode ser usado da seguinte maneira:

registerReady("foo.js").then(function (r) {
    // "foo.js" is active and r.active === navigator.serviceWorker.controller
    fetch("/"); // uses foo.js's "fetch" handler
});

registerReady("bar.js").then(function (r) {
    // "bar.js" is active and r.active === navigator.serviceWorker.controller
    fetch("/"); // use bar.js's "fetch" handler
});

questionAnswers(1)

yourAnswerToTheQuestion