【发布时间】:2017-09-22 01:53:05
【问题描述】:
我正在使用 Ionic 开发我的第一个 Firebase 应用,但我的登录代码有一些问题。从我的浏览器中我看不到任何问题,但是一旦我将应用程序安装到手机(iOS 和 Android)上,登录需要大约一分钟,因为来自 onAuthStateChanged 的回调需要很长时间。我正在使用"firebase": "^3.8.0". 我添加了用于登录的代码。关于 Firebase 为何会窒息的任何想法?
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();
}
});
});
【问题讨论】:
-
3.9.0 已于今天发布,并针对此问题进行了修复:firebase.google.com/support/release-notes/js#3.9.0 您应该不会再收到此错误。
-
@bojeil 谢谢!!我会尽快更新这家伙,看看它是否有效
-
我使用的是 4.10.1,在我的测试中,注销/登录
onAuthStateChanged持续需要 4 秒。这很常见吗? -
确保在部署 ionic 应用程序时使用命令行 --release --prod 标志。这将打开 Ionic 的提前编译。这可能会减少延迟。
标签: android ios firebase ionic2 firebase-authentication