Javascript Firebase消息传递getToken()未解析

Javascript Firebase消息传递getToken()未解析,javascript,firebase,rxjs,firebase-cloud-messaging,Javascript,Firebase,Rxjs,Firebase Cloud Messaging,我正在给messaging.getToken()打电话,但承诺永远无法实现 let msging const msgTokenPromise = navigator.serviceWorker.register('/sw.js') .then(reg => { if(firebase.messaging.isSupported()) { msging = firebase.messaging() // m

我正在给messaging.getToken()打电话,但承诺永远无法实现

let msging

const msgTokenPromise = navigator.serviceWorker.register('/sw.js')
        .then(reg => {
          if(firebase.messaging.isSupported()) {
            msging = firebase.messaging()
            // msging.onTokenRefresh = msging.onTokenRefresh.bind(msging)
            msging.useServiceWorker(reg)
            return msging.requestPermission()
          } else throw "messaging not supported"
        })
        .then (() => {let prom = msging.getToken();
                      console.log("tokenProm", prom);
                      return prom
                    })
        .catch(err => console.log('permission error', err))

const msgToken$ = 
        concat( from(msgTokenPromise)
              , defer(() => Observable.create(msging.onTokenRefresh).pipe(switchMap(() => from(msging.getToken()))))
              )


msgToken$.subscribe(currToken => {console.log('currToken', currToken)}


我在then控制台中将日志作为未决承诺获取,但从未记录令牌。找不到此问题的解决方案,也找不到错误。我正在使用rxjs

更新:当我清除缓存和服务工作程序并重新启动时,它现在就解决了。所以我的问题变成:什么会导致getToken()调用无法解析