我探索了在RxJava中创建新Observabe的不同方法。
不幸的是,我试图找到方法的完整说明
call()(interface Observable.OnSubscribe<T>
)失败。
请有人可以帮助我找出该方法的作用或分享有关此方法的一些详细信息。
非常感谢您!
答案 0 :(得分:1)
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。取而代之的是使用消费者。