如何迭代单个<List>并映射到另一个列表?



作为改造请求的结果,我得到了Single<List<Info>>,我应该在每个项目上迭代,并且基于每个项目ID,也应调用另一个请求,该请求也是单个的,然后映射到deleteinfo

因此,拥有Single<List<DetailInfo>>

我发现flattenasobservable和FlattenasFlow,我不确定使用它是正确的方法,如果是,我还有另一个问题,我需要Single<List<Single<DetailInfo>>,而我需要Single<List<DetailInfo>>

fun recipeInfos(id: Long) {
 return repository.recipeInfos(id)
  .flattenAsObservable { it ->
    it.map { it ->it.id }
  }.map { id ->repository.detail(id)
  .map { detailInfo -> detailInfo.toModel() }}
  .toList()
}

我刚刚将.map { id ->repository.detail(id)更改为

.flatMap { id ->repository.detail(id)}

它起作用

最新更新