auth (). currentUser.reload () возвращает неопределенное - PullRequest
0 голосов
/ 13 марта 2020

Я пытаюсь проверить firebase emailVerified без выхода из системы пользователя (Angular 6 веб-приложения), но auth (). CurrentUser.reload () возвращает "undefined"

Tried:

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);
});

Эти проблемы НЕ ПОМОГАЮТ .

Обновление статуса подтверждения электронной почты без перезагрузки страницы

Firebase: отслеживание статуса проверки электронной почты в режиме реального времени

Auth.auth (). CurrentUser? .Reload () не обновляет sh currentUser. isEmailVerified

1 Ответ

0 голосов
/ 14 марта 2020

Ядро Firebase не включает модуль auth. Вам необходимо добавить модуль auth:

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

Если ни один пользователь в настоящий момент не аутентифицирован, currentUser будет нулевым и не будет иметь функцию reload (). Попытка вызвать его выдаст вам ошибку.

Функция reload () возвращает обещание, чтобы вы могли использовать .then, но обещание не возвращает объект 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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...