Как добавить тело метода подписки - PullRequest
0 голосов
/ 10 июля 2019

В приведенном ниже коде я пытаюсь добавить тело для .subscribe(). Я пытался добавить лямбда-нотацию, но она никогда не работала. Подскажите, пожалуйста, как реализовать метод .subscribe()?

Учитывая, что setupCommRequestService() возвращает Single <..>

код

setupCommRequestService()?.
        flatMap {
            it.getAllPhotos()
                .map {
                    Observable.fromIterable(it)
                        .map {
                            it
                        }
                }
                .toSortedList()
    }
        ?.subscribeOn(Schedulers.io())
        ?.observeOn(AndroidSchedulers.mainThread())
        ?.subscribe(

        )

1 Ответ

0 голосов
/ 13 июля 2019

Существует 4 реализации метода subscribe согласно документации Single.В простом подходе вы должны реализовать стратегию для onSucess и onError.для этого вы должны использовать метод subscribe, передав BiConsumer или 2 Consumer один для onSucess случая и один для onError.

, используя BiConsumer в лямбда-выражении:

val disposable = Single.just(1)
        .subscribe { success, failure ->
            /* whichever is not null */
        }

или использование 2 Consumer в лямбде:

val disposable = Single.just(1)
        .subscribe({ success ->
            /* success */
        }, { failure ->
            /* failure */
        })
...