RxJAVA 如何动态接收数据?

发布于 2022-09-13 01:27:49 字数 1135 浏览 20 评论 0

最近在看RXJAVA,有一个问题没有理解,就是在创建了Observable后,好像只能消费一次,但是我认为是可以消费多次的;

@Test
    public void helloworld(){
        Observable<Integer> observable = Observable.create(e -> {
            e.onNext(1);
            e.onNext(2);
            e.onNext(3);
            e.onComplete();
        });
        Observer<Integer> observer= new Observer<Integer>() {
            @Override
            public void onSubscribe(Disposable d) {
                System.out.println("建立订阅关系");
            }
            @Override
            public void onNext(Integer value) {
                System.out.println("接收到数据:" + value);
                if(value == 3){
                    int a = 1 / 0;
                }
            }
            @Override
            public void onError(Throwable e) {
                System.out.println("出现异常:" + e.getMessage());
            }
            @Override
            public void onComplete() {
                System.out.println("完成");
            }
        };
        observable.subscribe(observer);
        
        //如何让observable中动态添加数据,然后observer再次执行onNext方法呢???
    }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文