На Chrome Mac. Я пытаюсь зарегистрировать ServiceWorker и установить для него переменную. Когда я вызываю register(), и рабочий-сервис ранее не был установлен, свойство «active», кажется, сразу установлено на null, а затем вскоре после этого инициализируется (асинхронно?).ServiceWorkerRegistration.active не устанавливается в первый раз (Chrome)
var sw = null;
navigator.serviceWorker.register('preview/sw.js', {scope: 'preview/'}).
then(function(registration) {
console.dir(registration);
sw = registration.active;
if (!sw) {
console.log('wat');
console.dir(registration);
}
});
Другими словами, я попадаю в if-блок при первом запуске сервисного работника. Консоль показывает активное свойство как установленное равным ServiceWorker в командах console.dir(), но переменная sw имеет значение null.
Обновление страницы устраняет проблему. Кто-нибудь знает, что может быть причиной этого?