接收Angular Firebase文档并返回

时间:2020-04-30 07:31:17

标签: angular database google-cloud-firestore

我正在尝试从FireDatabase获取文档,该模型是用户,例如:

export class User {
    useremail: string;
    userid: string;
    username: string;

    constructor(usermail: string, userid: string, username: string ){
        this.useremail = usermail;
        this.userid = userid;
        this.username = username;
    }
  }

这是服务:

  getUser(uid){
    this.firestore.collection('/users').doc<User>(uid).snapshotChanges().subscribe(res => {
      this.userData = new User(res.payload.data().useremail,
                               res.payload.data().userid,
                               res.payload.data().username);    
                               console.log(this.userData) 
                              retrun this.userData;
    })
  }

因此,当我在需要数据的组件中调用此服务时,它看起来像这样:

  ngOnInit(): void {
  this.userData = this.userService.getUser(this.authService.getUserId());
  console.log(this.userData)
  }

但是未定义userData日志。我认为我需要等待功能完成,但是我不知道该怎么做。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我不是角度专家,但我认为问题出在

this.firestore.collection('/users')

我认为您在Firestore前面失踪了(),我过去曾遇到过此问题,而我所失踪的都是(()“

尝试

this.firestore().collection().....