我已经和Angular合作了一段时间,但对于FireStore和相当反应性的编程来说是一个新手。 我已经尝试过以下几个版本的程序,但现在已经用完了选项。另请查看StackO上的所有类似问题。
我有一个工作服务(Observable)来检索嵌套集合的父文档。唯一的区别是我必须将Id提供给父(用户)文档。我的控制台日志显示我检索到正确的文档ID。
我的问题是代码(2)的第二部分根本没有运行。我的第一个想法是使用一个可观察的,但它没有用。任何帮助赞赏。 还有一个任务。使用原始FS SDK比使用Augularfire2更好吗?
(抱歉更新了自我看到我使用测试版本后的代码段)
getHealthProfile() {
const myprom = new Promise(resolve => {
this._authSubscription = this.userDbService
.setUserDocIdByEmail()
.subscribe(users => {
const id = users[0].id.trim();
this.userDoc = this.afs.doc<User>(`users/${id}`);
console.log(this.userDoc); // CORRECT PATH
(2) this.userDoc
.collection('healthProfile')
.doc('HP')
.snapshotChanges().map(action => {
console.log('map'); // Result…NOTHING
if (action.payload.exists === false) {
console.log('null'); // Result … NOTHING
return null;
} else {
console.log('else data'); //Result … NOTHING
const data = action.payload.data() as HealthProfile;
data.id = action.payload.id;
resolve(data);
}
});
});
});