如何为Firestore编写递归异步/等待

时间:2019-07-15 06:52:45

标签: angular typescript async-await google-cloud-firestore

这是场景。

用户将有多个Firestore文档,其中将包含与任务相关的键/值字段。用户将能够以CSV格式下载其任务。 每个用户都将有一个mentees(子级)数组,该数组将具有下级docID,以便用户还可以访问该mentee的任务文档并将其与CSV一起下载。

当我在写入CSV文件时应用settimeout(1000)方法时,效果很好。

getMenteeTasks(id) {
    var mentorId = id;

    this.getEmployeeProfile(mentorId).then(user => {

      for (let menteeID of user.mentees) {
        this.fetchUserTasks(menteeID)
        if (user.mentee != [])
          this.getMenteeTasks(menteeID)
      }
    })
  }

我希望代码在没有settimeout方法的情况下运行,因为来自Firestore的数据可能最终会增加,并且我们可能无法估计处理所有查询所花费的确切时间。

0 个答案:

没有答案