Конвертировать Observable в Single RX Java - PullRequest
0 голосов
/ 10 января 2019

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

override fun getSportList(dCSServiceContext: DCSServiceContext): Single<SportsResponse> {
        return scribeService.getNavMenuItems(dCSServiceContext).map { navMenu ->
            SportsResponse(navMenu as NavMenu)
        }
    }

И getNavMenuItems выглядит так:

override fun getNavMenuItems(dCSServiceContext: DCSServiceContext): Observable<NavItem> {
        return getItems(getNavItemById(dCSServiceContext), dCSServiceContext)
    }

Дело в том, что мне нужно преобразовать этот Observable в Single, я использовал метод toSingle (), вот так:

override fun getSportList(dCSServiceContext: DCSServiceContext): Single<SportsResponse> {
        return scribeService.getNavMenuItems(dCSServiceContext).toSingle().map { navMenu ->
            SportsResponse(navMenu as NavMenu)
        }
    }

Но я получаю следующую ошибку:

Observable испускает слишком много элементов, потому что Observable испускает более одного элемента. Точно так же ожидайте, что "Наблюдаемый не испускает никаких элементов", если Наблюдаемый пуст.

Есть идеи?

...