У меня есть служба аутентификации в моем приложении Angular, в которой я получаю текущий идентификатор пользователя в конструкторе, и после этого хочу найти документ по этому идентификатору в коллекции Firestore, записать его в cookie и получить данные из этих cookie в других компонентах. :
public userData: User;
constructor(
private fireStore: AngularFirestore,
public fireAuth: AngularFireAuth,
private cookieService: CookieService,
) {
this.fireAuth.authState.subscribe(user => {
this.fireStore.collection('users').doc(user.uid).snapshotChanges()
.subscribe((data) => {
this.cookieService.set('User', JSON.stringify(data));
this.userData = JSON.parse(this.cookieService.get('User'));
})
})
}
Это работает нормально, когда я таким же образом получаю пользовательские данные из AngularFireAuth. И это тоже работает в этом случае (он получает нужный документ и записывает его в куки), но только после обновления страницы.
Что я сделал не так?