Я новичок в Angular и учусь :)
При обновлении профиля пользователя он сохраняет изменения профиля, затем я получаю сообщение об ошибке на signOut
, спрашивая, есть ли у кого-нибудь подсказка, что может вызвать это, код ниже ...
ERROR TypeError: Cannot read property 'updateProfile' of null
at SafeSubscriber._next (auth.service.ts:66)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.__tryOrUnsub (Subscriber.js:207)
at SafeSubscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.SafeSubscriber.next (Subscriber.js:145)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber._next (Subscriber.js:80)
at Subscriber.push../node_modules/rxjs/_esm5/internal/Subscriber.js.Subscriber.next (Subscriber.js:55)
at angularfire2.js:49
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:388)
at Object.onInvoke (core.js:3824)
at ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invoke (zone.js:387)
at Zone.push../node_modules/zone.js/dist/zone.js.Zone.run (zone.js:138)
Код, который я вызываю для обновления ...
updateUserProfile() {
this.store.dispatch(new AuthActions.SetIsPending(true));
this.store
.pipe(select(fromRoot.getAuthenticatedUserInformation))
.pipe(take(1)) <-- added this
.subscribe(user => {
this.fireauth.authState
.pipe(take(1)) <-- added this
.subscribe(profile => {
profile
.updateProfile({
displayName: user.displayName,
photoURL: user.photoURL
})
.then(() => {
this.store.dispatch(new AuthActions.SetIsPending(false));
})
.catch(error => {
this.store.dispatch(new AuthActions.SetIsPending(false));
console.log(error.message);
});
});
});
}