来自API Angular2的嵌套Observable

时间:2017-01-20 18:31:23

标签: angular observable

我需要在解析器函数中多次调用几个端点。以下所有函数都返回一个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))
          })
        })
    })
  )
}

0 个答案:

没有答案