Еще один способ цепочки звонков, в зависимости от результата - PullRequest
0 голосов
/ 20 февраля 2019

Я работаю со следующим кодом:

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)
        }
    }

В этом коде у меня есть цепочка зависимых вызовов, но это не рекомендуется, и в требовании эти вызовы не должны быть зависимыми.

Есть идеи, более изощренный способ добиться этого?

...