我需要在解析器函数中多次调用几个端点。以下所有函数都返回一个observable。
return getAllAccounts().flatMap(data => {
return Observable.forkJoin(getAllLevelData(data), getAllFundingData(data))
})
我能够正确地为getAllLevelData(data)
函数返回数据,因为它不像forkJoin
中的第二个observable那样嵌套。
let getAllLevelData = function(data) {
return Observable.forkJoin(
data.map(i => {
return anotherObservable(i.clientId)
})
)
}
但是,对于第二个可观察对象,它嵌套得更多,而且我无法正确地返回数据。有没有更好的方法可以解决这个问题?
let getAllFundingData = function(data){
return Observable.forkJoin(
data.map(i => {
return fundingFn(i.id)
.flatMap(pArray => {
pArray.map(j => {
return Observable.forkJoin(Observable.of(j.cost), thirdObservable(j.id))
})
})
})
)
}