即使身份验证失败,页面也会发生变化

时间:2018-05-06 19:00:21

标签: angular firebase ionic-framework angularfire

我有这个简单的方法,尝试登录用户,然后如果成功,将路由用户到ProfileSetupPage。

#include <stdlib.h>
#include <stdio.h>

#define dim (3u)

int main() {

    int x;
    int y;
    int z;

    int ***cube;
    cube = calloc(dim, sizeof(int**));

    for (z = 0; z < dim; z++) {
        cube[z] = calloc(dim, sizeof(int*));
        for (y = 0; y < dim; y++) {
            cube[z][y] = calloc(dim, sizeof(int));
        }
    }

    for (z = 0; z < dim; z++) {
        for (y = 0; y < dim; y++) {
            for (x = 0; x < dim; x++) {
                cube[z][y][x] = z + y + x;
            }
        }
    }

    for (z = 0; z < dim; z++) {
        for (y = 0; y < dim; y++) {
            for (x = 0; x < dim; x++) {
                printf("%d ", cube[z][y][x]);
            }
            printf("\n");
        }
        printf("\n");
    }

    return 0;
}

如果我尝试登录,则会收到运行时错误消息,&#39;没有与此标识符对应的用户记录。用户可能已被删除&#39;这很好,但是当我关闭它时 - 用户仍然被重定向到ProfileSetupPage。由于结果显然是错误的,为什么它会执行this.navCtrl.setRoot方法?

这里有新手角度/离子编码器 - 对此的帮助将不胜感激!此外,有没有办法显示消息,如果不成功而不是运行时错误叠加?谢谢!

1 个答案:

答案 0 :(得分:1)

返回Promise

你应该这样做

并在其文档中添加catch基础并抛出错误。

async onLogin(user: User){
    const result = this.afAuth.auth.signInWithEmailAndPassword(user.email, user.password)
    .then((res) =>{
     this.navCtrl.setRoot(ProfileSetupPage);
    })
    .catch((error) =>{  console.error(error);});
}