Javascript Angularfire2:注销时权限被拒绝

Javascript Angularfire2:注销时权限被拒绝,javascript,angular,firebase,firebase-authentication,angularfire2,Javascript,Angular,Firebase,Firebase Authentication,Angularfire2,当我调用此方法时: login() { this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()) .then(() => { this.router.navigate(['']); }); } 我收到以下错误(注销时): 但是,如果我更改了我的login()方法: login() { this.afAuth.auth.signInWithPopu

当我调用此方法时:

login() {
    this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider())
      .then(() => {
        this.router.navigate(['']);
      });
}
我收到以下错误(注销时):

但是,如果我更改了我的
login()
方法:

login() {
    this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider())

}
我没有错

1) 我的第一个登录方法有什么问题。 2) 使用angularfire2登录后,正确的做法是什么

this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then

在我看来,你尝试登录,然后做一些事情。问题是,登录是异步的,仅仅因为u放置了“then”,并不意味着它将在登录后执行。尝试在onAuthStateChanged上实现“then”,可能重复的位不同,即angularjs,这是angularjs。我也不认为我订阅了答案所暗示的任何东西。我将导航移动到了一个守卫(但仍然不起作用)。“你认为我应该把它移到那里吗?”杰夫试了一下,我也遇到了同样的问题,这很有帮助。检查是否(currentUser)并粘贴“then”代码,因此我认为问题在于我的防护装置是可观察的,无论出于何种原因,都会妨碍我的导航。
this.afAuth.auth.signInWithPopup(new firebase.auth.GoogleAuthProvider()).then