java - 单个RxJava如何提取对象

标签 java rx-java system.reactive rx-android

我可以想到两种方式来获取Single的值

Single<HotelResult> observableHotelResult = 
                            apiObservables.getHotelInfoObservable(requestBody);

final HotelResult[] hotelResults = new HotelResult[1];
    singleHotelResult
            .subscribe(hotelResult -> {
                hotelResults[0] = hotelResult;
            });

或者

    final HotelResult hotelResult = singleHotelResult
                                    .toBlocking()
                                    .value();

文档中写到我们应该避免使用.toBlocking 方法。

那么有没有更好的获取值(value)的方法

最佳答案

即使不建议阻塞它(你应该订阅),在 RxJava v2 中阻塞的方法是 blockingGet(),它会立即返回对象。

关于java - 单个RxJava如何提取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41647752/

相关文章:

java - RxJava 中的过滤器

system.reactive - 响应式(Reactive)扩展是否适合公共(public)汽车?

java - “mvn install”在尝试下载时不起作用并显示错误

java - 我如何检查网页是否存在java?

java - 使用 netbeans 调试 Maven 测试?

java - Spring boot 1.5.6 中的 RxJava 2

java - 转换 Observable onError 并发出一个项目

c# - 为什么我不需要在这个冷的 Observable 上发布?

c# - 吞噬长时间运行的事件聚合器可观察到的异常

java - Lucene:IndexSearcher.search() 在非常大的数据库上导致 java 堆空间错误