服务工作者寄存器,然后 - 未定义不是一个函数

问题描述 投票:1回答:1

我使用默认的阵营代码注册服务工作者。我在bugsnag报告称,有些用户正在里面registerValidSW行TypeError: undefined is not a function越来越.then(registration => {

对我来说这是工作,但对于一些可能不是。我没发现哪里可能是一个问题。

你能帮助我吗?

export function register() {
if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {
const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);
if (publicUrl.origin !== window.location.origin) {
  return;
}

window.addEventListener('load', () => {
  const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;

  if (isLocalhost) {
    .......
  } else {
    registerValidSW(swUrl);
  }
});
}
}

function registerValidSW(swUrl) {
 navigator.serviceWorker
.register(swUrl)
.then(registration => {
  registration.onupdatefound = () => {
    const installingWorker = registration.installing;
    if (installingWorker == null) {
      return;
    }
    installingWorker.onstatechange = () => {
      ...
    };
  };
})
.catch(error => {
  console.error('Error during service worker registration:', error);
});
}
javascript reactjs typeerror service-worker progressive-web-apps
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.