Я работаю со следующим кодом:
override fun get(context: SportListServiceContext): Single<Data> {
return sportListProvider.getPlayerBrowseSportsListId(context).map { playerBrowseSportsList ->
return@map playerBrowseSportsList
}.flatMap {
val list: List<Int> = listOf(it)
val dCSServiceContext = DCSServiceContext(list, ContentOrigin.ESPN, context.transaction)
return@flatMap sportListProvider.getSportList(dCSServiceContext)
}.map { navMenuItems ->
val presenterContext = SportListPresenterContext(SportsResponse(navMenuItems as NavMenu?), context.application, context.deepLinkType)
return@map sportListPresenter.present(presenterContext)
}
}
В этом коде у меня есть цепочка зависимых вызовов, но это не рекомендуется, и в требовании эти вызовы не должны быть зависимыми.
Есть идеи, более изощренный способ добиться этого?