2016-10-10 45 views
0

我有幾個observervables我從一套合併。出於某種原因,合併的觀測值正在調用onComplete,即使個別觀察值不是。RxJava:合併可觀察的調用onComplete虛假地

例子:

Set<Observable<InputOutputEvent>> set = new HashSet<Observable<InputOutputEvent>>(); 
    for (Observable ob : obs) { 
     ob.subscribe((e) -> { 
     }, 
     (error) -> { 
System.out.println("This does NOT happen."); 
     }, 
     () -> { 
      System.out.println("This does NOT happen."); 
     }); 
     set.add(c.event()); 
    } 

    Subscription s = Observable.merge(set).subscribe((e) -> { 
      }, 
      (error) -> { 
       System.out.println("This does NOT happen."); 
      }, 
      () -> { 
       System.out.println("This DOES happen."); 
      }); 

這怎麼可能?合併觀察者是不是應該只在所有合併的函數調用它時調用onComplete?

我也檢查了錯誤,但沒有。

回答

1

把這個作爲一個警告他人:

觀測的set是空的。在這種情況下立即調用onComplete。