Android 从CompositeDisposable RXJava获取值
如何从以下代码中获取返回值:Android 从CompositeDisposable RXJava获取值,android,rx-java2,Android,Rx Java2,如何从以下代码中获取返回值: private fun <T, R> requsetMovie(call: Observable<T>, transform: (T) -> R, default: T): Either<Failure, R> { val myCompositeDisposable = CompositeDisposable() myCompositeDis
private fun <T, R> requsetMovie(call: Observable<T>, transform: (T) -> R, default: T): Either<Failure, R> {
val myCompositeDisposable = CompositeDisposable()
myCompositeDisposable?.add(call
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe({//I need to return value},{e->//I need to return value}))
}
private-fun-requsetMovie(调用:可观察,转换:(T)->R,默认值:T):或者{
val myCompositeDisposable=CompositeDisposable()
myCompositeDisposable?添加(调用
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe({//我需要返回值},{e->//我需要返回值}))
}
您应该使用界面返回结果,不能直接返回结果
java中的示例:
public void getPassengers() throws Exception {
getCompositeDisposable().add(getDataManager()
.doGetPassengers(new GetPassengersRequest(getCurrentTime(), 0))
.subscribeOn(getSchedulerProvider().io())
.observeOn(getSchedulerProvider().ui())
.subscribe(response -> {
getNavigator().disMissLoading();
}, throwable -> {
getNavigator().showMsg("");
}));
}
您可以使用同步调用
// example
doGetPassengers(new GetPassengersRequest(getCurrentTime)).blockingGet()