为什么间隔什么都不发出?

问题描述 投票:0回答:2

为什么此代码不发出任何东西:

Observable<Long> observable1 = Observable.interval(3, 1000, TimeUnit.MILLISECONDS);
observable1.subscribe(l -> System.out.println(l));
java rx-java2
2个回答
2
投票

intervall()Scheduler.computation()上进行操作,这将分配一个新线程。您的程序在新线程有机会运行之前终止。您可以通过将主线程挂起一段时间来解决此问题。

Scheduler.computation()

现在,您将看到一些输出。


2
投票

您需要知道的第一件事是rx-java本质上是异步的。仅凭此片段很难判断您是否知道该判断。如果您只想阻止并打印它,则应使用blockingSubscribe代替订阅。

© www.soinside.com 2019 - 2024. All rights reserved.