【发布时间】:2018-07-05 02:59:09
【问题描述】:
我认为这是因为我实际上并不知道如何正确地做我想做的事。基本上,我正在保存用户和学校(也是用户)之间的关联,并且在新文档中想要从学校用户那里提取一些图像 url。我的查询都返回 undefined...
然后我基本上想将这些图像 url 保存在我将使用的另一个文档中。
结果打印到控制台就好了....
private addUserSchool(userId: string, school: any) {
const concatId = this.concatIds(userId, school.uid);
const userSchoolsRef: AngularFirestoreDocument<any> = this.afs.doc(`userSchools/${concatId}`);
const schoolRef: AngularFirestoreDocument<any> = this.afs.doc(`users/${school.uid}`);
let schoolImageURL;
let schoolImageLogoURL;
if(school.active) {
schoolRef.valueChanges().subscribe(result => {
console.log(result)
return schoolImageURL = result.schoolImageURL;
});
}
schoolRef.valueChanges().subscribe(result => {
console.log(result)
return schoolImageLogoURL = result.schoolImageLogoURL;
})
// create model from this.
const data = {
userId: userId,
schoolId: school.uid,
active: school.active ? school.active : false,
activeSchoolImageURL: schoolImageURL ? schoolImageURL : null,
activeSchoolLogoURL: schoolImageLogoURL ? schoolImageLogoURL : null
}
return userSchoolsRef.set(data, { merge: true })
}
【问题讨论】:
-
对于 AngularFire2,
subscribe是异步的,schoolImageURL和schoolImageLogoURL的值将在 调用set之后分配。
标签: angular rxjs observable angularfire angularfire2