auth().currentUser.reload() returns 未定义

auth().currentUser.reload() returns undefined

我正在尝试在不注销用户的情况下检查 firebase emailVerified(Angular 6 网络应用程序),但是 auth().currentUser.reload() returns "undefined"

尝试过:

import { auth } from 'firebase/app';

auth().currentUser.reload().then((u) => {
  console.log(u);
});

尝试过:

import { AngularFireAuth } from '@angular/fire/auth';
this.afAuth.auth.currentUser.reload().then((u) => {
  console.log(u);
});

这些相关问题不要帮助

Auth.auth().currentUser?.reload() doesn't refresh currentUser.isEmailVerified

firebase 核心不包含 auth 模块。您需要添加授权模块:

import firebase from 'firebase/app';
import 'firebase/auth';

如果当前没有用户通过身份验证,则 currentUser 将为 null 并且不会具有 reload() 函数。尝试调用它会给您带来错误。

reload() 函数 return 是一个承诺,因此您可以使用 .then,但承诺不会 return currentUser 对象。重新加载后查看currentUser,只需参考currentUser...

if (firebase.auth().currentUser) {
  firebase.auth().currentUser.reload().then(() => {
    console.log(JSON.stringify(firebase.auth().currentUser));
  });
} else {
  console.log('No authenticated user');
}