我有这个简单的方法,尝试登录用户,然后如果成功,将路由用户到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方法?
这里有新手角度/离子编码器 - 对此的帮助将不胜感激!此外,有没有办法显示消息,如果不成功而不是运行时错误叠加?谢谢!
答案 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);});
}