有很多很棒的文章解释了RxJava.但几乎没有一个用现实世界的例子来解释这个概念.
所以我基本上理解RxJava Subject的概念就像一个管道而且它是observable和observer.
但我不知道Android开发世界中这个RxJava主题的实际使用情况.你能详细说明一下吗?
就我而言,是因为我有一个 Observable 正在等待另一个 Observable 发出的一项,这是异步的,因为它是 Interval。
Scheduler scheduler = RxHelper.scheduler(vertx.getOrCreateContext());
Observable.just(callAnotherObservable)
.subscribe(item -> System.out.println(item)
public Observable<String> callAnotherObservable(Scheduler scheduler, ){
Subject subject = ReplaySubject.create(1);
Observable.interval(100,TimeUnit.MILLISECONDS)
.map(i->"item to be passed to the other observable")
.subscribe(subject);
return subject.observeOn(scheduler).first();//Here we wait for the first emission of the interval Observable.
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,我们使用 subject.first() 来等待间隔 observable 的第一次发射,该间隔在另一个线程中运行。
如果您想查看“hotObservables”的更多示例https://github.com/politrons/reactive/blob/master/src/test/java/rx/observables/connectable/HotObservable.java
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |