首页 > 解决方案 > Observable.OnSubscribe 接口的方法调用及其完整说明

问题描述

我探索了在 RxJava 中创建新 Observabe 的不同方法。
不幸的是,我试图找到方法的完整描述

call() ( interface Observable.OnSubscribe<T>) 失败。

请任何人都可以帮助我找出该方法的作用或分享有关此方法的一些详细信息。

非常感谢!

标签: rx-java

解决方案


RxJava 提供了几个工厂方法,可以通过 Observable 类访问:

让我们看看一个急切的实现: Observable.just() 你也可以使用: Observable.fromCallable(() -> { return }) 或 Observable.defer(() -> { return > } 来推迟一个昂贵的计算(惰性)。还有 Observable.fromArray / Observable.fromIterable,它会在订阅时急切地获取对象列表并发出它们。还有一个 Java-Futures 的互操作:Observable.fromFuture。还有 Observable .create,可用于发出专用的合约事件,如 onNext/onComplete/onError。此外,您可以使用 Observable.create 将回调样式的 Api 转换为 RxJava-Observables。

上面提到的接口 Action1 是一个类似于 Java8 的 Consumer 的功能接口。它不是用于创建 Observable 的工具,而是用于将自定义代码注入到 Observable 中。

让我们看一下这个例子:

Observable<String> obs$ = Observable.fromCallable(() -> "Test");
obs$.subscribe(s -> System.out.println(s));

在这个例子中,你“可以”传入一个 Action1 来订阅,以便在发出一个值时被调用。与 RxJava2 一样,不再有 Action1。相反,人们会使用消费者。


推荐阅读