作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
public class ReactiveExample {
public static void main(String[] args) throws InterruptedException, NumberFormatException, UnsupportedEncodingException {
Observable.range(1, 5).subscribe(
System.out::println,
error -> System.out.println("error"),
() -> System.out.println("completed")
);
}
}
打印出来的结果是rx.internal.util.ScalarSynchronousObservable@2fad386b
打印可观察值后我得到:
进程已完成,退出代码为 0
。
我刚刚开始使用 ReactiveX,并且一直在学习一些教程。我的假设是上面的代码将连续传输数据,如下所示:
1-2-3-4-5-1-2-3-4-5...
并继续打印该值。为什么我的程序立即停止?是不是在观察到前 5 位数字后就结束了?如何更改它以连续流式传输值并在循环这些值时打印它们?另外,如何实际打印值而不是可观察对象引用?
最佳答案
range:返回一个 Observable,它发出指定范围内的整数序列。
所以你的假设是错误的。 range
不重复任何内容。为此,您需要使用repeat
Observable.range(1, 5).repeat().subscribe(
System.out::println,
error -> System.out.println("error"),
() -> System.out.println("completed")
);
关于java - ReactiveX Java 进程提早结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43468454/
我是一名优秀的程序员,十分优秀!