【问题标题】:How Convert to Rx java Observable如何转换为 Rx java Observable
【发布时间】:2019-08-05 18:09:36
【问题描述】:

我正在尝试将VoidResponse 类型转换为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;
}

【问题讨论】:

标签: java observable rx-java rx-java2


【解决方案1】:

小提示:RxJava 提供了几种类型的 observables(参见here)。对于这种情况,没有理由返回Observable&lt;Void&gt;,你可以使用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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 2021-10-27
    • 2021-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多