2017-04-25 114 views
0

我正在使用Ionic處理我的第一個Firebase應用程序,而且我的登錄代碼出現了一些問題。在我的瀏覽器中,我看不到任何問題,但是一旦將應用程序安裝到手機上(iOS & Android),登錄需要大約一分鐘,因爲onAuthStateChanged的回調需要很長時間。我正在使用"firebase": "^3.8.0".我添加了用於登錄的代碼。關於Firebase爲何窒息的任何想法?Ionic 2 Firebase initializeApp&onAuthStateChanged slow

app.component.ts

constructor(public platform: Platform, private statusBar: StatusBar) { 
    this.rootPage = LoginPage; 
    let config = { 
     apiKey: "***", 
     authDomain: "***", 
     databaseURL: "***", 
     storageBucket: "***", 
     messagingSenderId: "***" 
    }; 
    firebase.initializeApp(config); 
    this.authData = new AuthData(); 
    this.zone = new NgZone({}); 
    const subscribe = firebase.auth().onAuthStateChanged((user) => { 
     console.log("onAuthStateChanged"); 
     this.zone.run(() => { 
     console.log(" zone onAuthStateChanged"); 
     if (!user) { 
      this.rootPage = LoginPage; 
      subscribe(); 
     } else { 
      // this.rootPage = HomePage; 
      this.rootPage = EditProfile; 
      subscribe(); 
     } 
     }); 
    }); 
+0

3.9.0已於今天發佈,修復方法如下:https://firebase.google.com/support/release-notes/js#3.9.0您應該不會再收到此錯誤。 – bojeil

+0

@bojeil謝謝!!我要儘快更新這個人,看看它是否有效 – VirtualProdigy

回答

1

我也面臨着同樣的問題。 經過一番研究後,我發現這個問題伴隨着Firebase「3.8.0」。 降級爲3.6.6爲我解決了這個問題

+0

謝謝你的工作 – VirtualProdigy

1

更新3.8.0減慢了Ionic 2設備上的驗證。以下是issue中的討論以及firebase團隊的解決方案,直到他們在新補丁中修復google docs

+0

你現在可以更新到3.9.0,他們修復了這個問題。 –

2

升級到項目中的firebase 3.9.0,肯定可以解決問題。