skipWaiting не работает в Service Worker - PullRequest
0 голосов
/ 07 июня 2019

Как часть написания кода ServiceWorker в typescript, я прилагаю обработчик установки, а затем вызываю skipWaiting внутри него:

self.addEventListener('install', this.onInstall);

protected onInstall() {
    console.log('onInstall called');
    workbox.skipWaiting();
}

При этом новый ServiceWorker все еще находится в состоянии ожидания, и skipWaiting, похоже, не работает. Обработчик onInstall вызывается совершенно нормально.

Является ли артефакт реализации машинописи причиной проблемы здесь? Как я должен написать что-то вроде этого?

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

Или self.skipWaiting () не работает так же, как workbox.skipWaiting ()?
Интересно, что перемещение workbox.skipWaiting() в ctor, к которому прикреплен обработчик установки, устраняет проблему.

...