Получить Angular документ Firebase и вернуть его - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь получить документ из моей базы данных FireD, модель - это пользователь, например:

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 не определен. я полагаю, мне нужно дождаться окончания функции sh, но я не знаю, как я могу это сделать. Может ли кто-нибудь помочь?

1 Ответ

0 голосов
/ 30 апреля 2020

Я не эксперт в angular, но я думаю, что проблема в

this.firestore.collection('/users')

Я думаю, что вы отсутствуете () перед пожарным магазином, у меня был опыт этой проблемы в прошлом, и все, что я был отсутствует "()"

try

this.firestore().collection().....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...