Rxjava:我不知道为什么这个节目不打印

时间:2017-08-14 01:47:27

标签: rx-java rx-java2

我不知道为什么这个节目不打印。我想要1秒钟打印字符串对象。所以我使用间隔。这个程序通常编译。但结果不打印。为什么?救命。 (我是韩国人。所以英语不成熟。对不起)

public class main {

    public static void main(String[] args){



        String str1 = "Apple";

        String str2 = "Banana";

        String str3 = "Boy";



        ObservableSource tim = Observable.interval(3, TimeUnit.SECONDS);

        ObservableSource ss = Observable.just(str1,str2,str3);





        Observable.zip(tim,ss,new BiFunction() {



            @Override

            public String apply(Long t1, String t2) throws Exception {

                System.out.println("ddd");

                return t1+t2;

            }







        })

        .subscribe(new DefaultObserver() {



            @Override

            public void onNext(String t) {

                System.out.println(t);

            }



            @Override

            public void onError(Throwable e) {

                System.out.println("Error!!!");}



            @Override

            public void onComplete() {

                System.out.println("Complete!!!");

            }

        });





    }

}

1 个答案:

答案 0 :(得分:3)

您的可观察时间间隔它使您的管道从同步传递到异步,因此它在另一个线程中运行,这就是为什么你无法在onNext或onComplete上看到任何印刷品。

只是为了向你证明我的理论添加

Thread.sleep(5000)

订阅后。

如果你正在学习RxJava,你可以考虑看一下这个例子https://github.com/politrons/reactive