2017-08-14 14 views
-2

このプログラムがなぜ印刷されないのか分かりません。私は1秒ごとに文字列オブジェクトを印刷したい。だから私は間隔を使用します。このプログラムは名目上コンパイルされます。結果は印刷されません。なぜ?????????? (私は韓国人だ。だから、英語が未熟である。申し訳ありません...).....ヘルプrxjava ...このプログラムがなぜ印刷されないのか分かりません

 
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!!!"); 

      } 

     }); 





    } 

} 

答えて

2

あなたに観察間隔それはそれので、非同期同期からあなたのパイプラインを通過させます別のスレッドで実行されていて、そのためにonNextまたはonCompleteのいずれの印刷も表示されないのはなぜですか。ちょうどあなたのサブスクリプション後

Thread.sleep(5000) 

を追加し、あなたに私の理論を証明するために

RxJavaを学習している場合は、この例を参照してください。https://github.com/politrons/reactive

関連する問題