如何转换为 Rx java Observable
How Convert to Rx java Observable
我正在尝试将 Void
和 Response
类型转换为 Observable
对应。我尝试了 .just
但 .create
不确定我是否可以使用 just 或 create 来进行此转换。谢谢。
void getSomeValue(){
Observable<Response> returnedObservable=getResponse();//How to convert this from Response to Observable<Response>
Observable<Void> returnedObservable=doSomething();//How to convert this from Void to Observable<Void>
}
Void doSomething(){
//some code...
return null;
}
Response getResponse(){
//some code....
return someResponse;
}
小提示:RxJava 提供了几种类型的可观察对象(参见here)。对于这种情况,没有理由返回一个Observable<Void>
,你可以使用一个Completable
:实际上,它代表一个没有任何值的延迟计算。
您可以使用方法 fromCallable
:这会延迟 getResponse
函数的执行,直到 Observable
被订阅。急切的方法包括使用 just
:它立即在当前线程中计算函数。
Observable<Response> response = Observable.fromCallable(this::getResponse);
Observable<Response> response = Observable.just(getResponse());
Completable
相同:
Completable something = Completable.fromAction(this::doSomething);
我正在尝试将 Void
和 Response
类型转换为 Observable
对应。我尝试了 .just
但 .create
不确定我是否可以使用 just 或 create 来进行此转换。谢谢。
void getSomeValue(){
Observable<Response> returnedObservable=getResponse();//How to convert this from Response to Observable<Response>
Observable<Void> returnedObservable=doSomething();//How to convert this from Void to Observable<Void>
}
Void doSomething(){
//some code...
return null;
}
Response getResponse(){
//some code....
return someResponse;
}
小提示:RxJava 提供了几种类型的可观察对象(参见here)。对于这种情况,没有理由返回一个Observable<Void>
,你可以使用一个Completable
:实际上,它代表一个没有任何值的延迟计算。
您可以使用方法 fromCallable
:这会延迟 getResponse
函数的执行,直到 Observable
被订阅。急切的方法包括使用 just
:它立即在当前线程中计算函数。
Observable<Response> response = Observable.fromCallable(this::getResponse);
Observable<Response> response = Observable.just(getResponse());
Completable
相同:
Completable something = Completable.fromAction(this::doSomething);