我目前正在尝试摆脱“外部可观察”范围。我当前的代码创建了一个Observable<Observable<any>[]>
,但是我正在尝试获取一个Observable<any>[]
类型。我玩过不同的rxjs运算符,但找不到任何可行的方法。我相信部分问题与外部地图有关,但我不确定如何在不丢失内部数组的情况下进行更改。
所以我有这个代码
this.userOrgs = this.db.doc(user_preferences/${user.uid}).valueChanges().pipe(
map((pref: UserPreferences) => {
return pref.orgs.map(org => {
return this.db.doc(organizations/${org}).valueChanges().pipe(
map((o: Organization) => { return o; })
);
});
})
);
并且this.userOrgs的类型为Observable<Organization>[]
;
答案 0 :(得分:0)
我不确定您使用的是哪个库,但是结果应该像这样
public async getOrganizations(user: any): Observable<Organization>[] {
const pref: UserPreferences = await this.db.doc(user_preferences/${user.uid}).valueChanges().toPromise();
return pref.orgs.map(org => {
return this.db.doc(organizations/${org}).valueChanges().pipe(map((o: Organization) => {
return o;
}));
});
}