在RxJava中,当它在不同的线程上订阅时,是否可以压缩observable返回主线程?

时间:2016-05-30 01:28:47

标签: rx-java

我在下面尝试过。

public static void main(String[] args) {
  Observable<String> zipped = Observable.zip(
    Observable.interval(500L, TimeUnit.MILLISECONDS),
    Observable.just("A", "B", "C"), (i, v) -> i + v);
  zipped.observeOn(
    Schedulers.from(Executors.newSingleThreadExecutor()))
    .subscribe(System.out::println);
}

由于我使用intervalzipped observable在不同的线程上运行。 我希望System.out::println部分在主线程上运行。

我想我必须使用observeOn, 但我不知道我必须使用哪个调度程序返回主线程。

有可能吗?

1 个答案:

答案 0 :(得分:0)

除非您使用Android,否则无法使用observeOn返回主线程。对于桌面使用,您可以使用toBlocking().subscribe()在订阅主题上接收值。