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;
})
}
用我現在所擁有的代碼,解析器似乎是不完整的(或至少不完全嵌套的觀測,因此,對於觀察到的在組件未定義返回的數據。任何人都可以提出一個?!的方式來解決這個問題,謝謝