如何添加订阅方法的主体

时间:2019-07-10 13:01:50

标签: android kotlin observable rx-java2

在下面的代码中,我试图为.subscribe()添加正文。我尝试添加lambda表示法,但是它从未起作用。您能告诉我如何实现.subscribe()方法吗?

鉴于此,setupCommRequestService()返回Single <..>

代码

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

        )

1 个答案:

答案 0 :(得分:0)

根据Single文档,subscribe方法有4种实现。在一种简单的方法中,您应该为onSucessonError实施策略。因此,您应该使用subscribe方法,方法是将BiConsumer的情况传递一个Consumer或2 onSucess,一个传递给onError的情况。

在lambda中使用BiConsumer

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

或在lambda中使用2 Consumer

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