0
我试图从解析器中的一系列observables中获取所有数据。我首先需要进行一次http调用以获取所有类型,并返回一个数组,我需要循环访问类型数组并获取每种类型的所有数据。最后,我想一次返回一个数组或所有类型的数据(在导航到路由之前)。Angular 2:在路由解析器中链接RxJS Observables
getAllTypesDataResolverFunction() {
this.getAllTypes()
.flatMap(data => {
let allTypesData = [];
data.forEach(i => {
if(i.type === 4) {
allTypesData.push({'typeObj': i});
return Observable.forkJoin([this.getDataForType(), this.getMoreDataForType()])
.subscribe(data => {
let arrayLength = allTypesData.length-1;
allTypesData[arrayLength].typeObjData = data;
})
}
})
return allTypesData;
}).subscribe(data => {
return data;
})
}
用我现在所拥有的代码,解析器似乎是不完整的(或至少不完全嵌套的观测,因此,对于观察到的在组件未定义返回的数据。任何人都可以提出一个?!的方式来解决这个问题,谢谢