首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图获取CloudFi还原数据的问题

试图获取CloudFi还原数据的问题
EN

Stack Overflow用户
提问于 2019-09-15 22:18:56
回答 1查看 110关注 0票数 0

好的,我的上有这样的结构:

代码语言:javascript
复制
Collection question:
- userID
- text

and Collection user:
- name 
- key

我可以轻松地从数据库中检索问题数据并返回它,但目前还没有用户数据。他们,我需要在数据库中做另一个搜索,前面返回的评论。然而,我在尝试这样做的时候遇到了很多问题。

第一:

我这样做是为了搜索问题:

构成部分:

代码语言:javascript
复制
export class ListQuestionsComponent implements OnInit {
  tableData: Question[] = [];
  userData: User[] = [];

constructor(
      private questionService: QuestionService,
      private userService: UserService,
  ) { }

 ngOnInit() {
    this.loadItens();
    this.getUsers();
  }

loadItens() {
    this.questionService.loadItems().subscribe(response => {
      this.tableData = [];
      for (const item of response) {
        this.tableData.push(item.payload.doc.data() as Question);
      }
}

问询服务:

代码语言:javascript
复制
loadItems() {
    const query = ref => ref
    .limit(10);

    return this.firestore.collection('perguntas', query).snapshotChanges();
}

这是可行的,现在我在我的tableData中有了问题。现在,我需要搜索每个问题的用户。

我尝试在相同的组件中这样做:

代码语言:javascript
复制
getUsers() {
 for(const item of this.tableData) {
   this.userService.getUserByKey(item.userID).subscribe(response => {
      this.userData = [];
      for (const user of response) {
        this.userData.push(user.payload.doc.data() as User);
      }
   });
 }
}

用户服务

代码语言:javascript
复制
getUserByKey(key: string) {
    return this.firestore.collection('users', ref => ref
      .where('key', '==', key))
      .snapshotChanges();
  }

最后,我有一个tableData,有10个问题,userData没有任何问题。我现在不知道该怎么办了。我只需要在我所寻求的问题中引用的用户。

EN

回答 1

Stack Overflow用户

发布于 2019-09-16 16:26:19

那么,对异步函数的研究已经取得了一定的成果。我在代码中改变了一些东西。

可变用户数据

userData: any;

在我的loadItems()的订阅中,我称之为getUsers()

和我的getUsers()

代码语言:javascript
复制
getUsers() {    
  for (const item of this.tableData) {
    this.usuarioService.getUserByKey(item.userId).subscribe(response => {
      this.userData[item.userId] = response[0].payload.doc.data();
    });
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57948591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档