Получение последнего URL-адреса изображения текущего пользователя Firebase Firestore - PullRequest
0 голосов
/ 10 мая 2019

Я получаю текущего пользователя Firebase Firestore в качестве наблюдаемого. Но когда я обновляю imageURL, он не отражается автоматически в компоненте, даже это заметно для пользователя Firebase. Но если я перезагрузить страницу, это отражается. Вот мой код:

auth.service.ts
===============

private user: Observable<User>;

constructor(private afAuth: AngularFireAuth, private afs: AngularFirestore, private afStorage: AngularFireStorage) {

    this.user = this.afAuth.authState;

}

get currentuser(): Observable<User> { // This is returning the Firebase current user
    return this.user;
}


component.ts
============


async signedUser() {
  try {
    const demoURL =
        'image.appspot.com/o/';
    this.sub1 = await this.authService.currentuser.subscribe(user => {
    if (user) {
      console.log('User exists');
      this.imgSource = user.photoURL ? user.photoURL : demoURL;
      console.log('imae source========', this.imgSource);
      const tempName = user.displayName ? user.displayName.split(' ') : ['user'];
      this.user = tempName[0];
    }
  },
    (error) => {
      console.log(error);
    },
    () => {
      console.log('------- Observable completed in signed user--------')
    })

  }
  catch (error) {
    console.log(error);
    console.log(error.code);
  }
}

В приведенном выше коде текущий пользовательский геттер возвращает наблюдаемое. Почему изменения не отражаются автоматически?

...