【发布时间】:2018-06-13 06:35:45
【问题描述】:
我有一个带有内部映射函数的 switch 映射,它返回多个 obersable,如下所示:
this.fb
.getUsersGroupsAsObservable(user.uid, 'contacts')
.switchMap(groups => {
return groups.map(group => this.fb.getJobsbyGroup(group.id));
})
.subscribe(res => {
console.log(res); // emits Observable {_isScalar: false, source: Observable, operator: MapOperator}
this.job$ = res;
});
});
这会正确运行两次并返回两个 observable,如下所示:
Observable {_isScalar: false, source: Observable, operator: MapOperator}
Observable {_isScalar: false, source: Observable, operator: MapOperator}
有什么方法可以返回一个可观察的列表(考虑 AngularFireList),然后我可以用异步管道渲染它?
更新:@concat 帮助我得到了这个问题的答案(但由于答案被删除的原因),我更新了我的代码如下(它现在可以正常工作):
this.fb
.getUsersGroupsAsObservable(user.uid, 'contacts')
.switchMap(groups =>
combineLatest(groups.map(group => this.fb.getJobsbyGroup(group.id))),
)
.subscribe(res => {
console.log(res);
this.jobs = [].concat.apply([], res);
});
【问题讨论】:
标签: angular rxjs angularfire2