首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReactiveX Java进程提前结束?

ReactiveX Java进程提前结束?
EN

Stack Overflow用户
提问于 2017-04-18 17:30:09
回答 1查看 23关注 0票数 0
代码语言:javascript
复制
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

在打印了可观察性之后,我得到:

Process finished with exit code 0

我刚开始使用ReactiveX,并且一直在关注一些教程。我的假设是上面的代码会像这样连续流式传输数据:

1-2-3-4-5-1-2-3-4-5...并继续打印值。为什么我的程序会立即停止?它是在观察到前5位数字后结束的吗?如何才能将其更改为连续流式传输值并在这些值循环时打印它们?另外,我如何实际打印值而不是observable对象引用?

EN

回答 1

Stack Overflow用户

发布于 2017-06-04 03:23:22

range: Returns an Observable that emits a sequence of Integers within a specified range.

所以你的假设是错误的。range不会重复任何内容。为此,您需要使用repeat

代码语言:javascript
复制
Observable.range(1, 5).repeat().subscribe(
  System.out::println,
  error -> System.out.println("error"),
  () -> System.out.println("completed")
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43468454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档