【发布时间】:2020-08-27 20:50:55
【问题描述】:
我有一个非常简单的任务。我想使用 Angular 从firestore 数据库集合中提取文档。由于此操作可能需要几秒钟才能完成,所以我遇到了一个问题,我需要等待该数据或订阅它。
令我感到困惑的是,在某处的某种文档中没有对此进行清晰、简洁和简单的解释。我现在已经花了几个小时,找到了多种解释 - 没有一个有效。
以下将用于提取数据。但是问题是在数据返回之前就已经写好了。
组件调用服务
this.userInfo = this.UserService.getUserInfo( this.userData.uid )
服务电话
getUserInfo( userId ) {
var docRef = this.afs.collection('users').doc(userId);
docRef.ref.get().then(function(doc){ return doc.data()});
}
您不会在我所见过的任何地方找到解释的 .ref。正如我所说,这些数据被传递给子组件,延迟意味着数据没有传递给组件。我尝试订阅它,但无法让它工作。
我只是想解释一下它应该如何完成,而不是破解。
【问题讨论】:
标签: javascript angular typescript firebase promise