从Firestore获取文档,将其写入Cookie并从其他组件获取

时间:2019-04-07 00:10:47

标签: angular typescript firebase google-cloud-firestore angularfire2

我在Angular应用程序中具有身份验证服务,该服务在构造函数中获取当前用户ID,然后要在Firestore集合中通过该ID查找文档,将其写入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获取用户数据时,它工作正常。在这种情况下,这也是一种工作方式(它获取所需的文档并将其写入Cookie),但是仅在页面刷新之后。

我做错了什么?

0 个答案:

没有答案