2017-08-08 40 views

回答

5

便利性和背景。

靜態zip是有用的,當你有兩個來源已經彙編,現在你想把它們壓縮在一起。大多數時候,他們本身就是長鏈,或者來自全國各地。

Observable<T1> source1 = op().op().op().op().op(); 
Observable<T2> source2 = op().op().op().op().op(); 

Observable.zip(source1, source2, (a, b) -> a + b); 

實例zipWith時的來源之一是較長的,而另一個是短是有用的。那時,用較短的一個拉鍊更方便。

public Observable<R> withIndex(Observable<T> source, Func2<Integer, T, R> func) { 
    return source.zipWith(Observable.range(0, Integer.MAX_VALUE), 
     (t, idx) -> func(idx, t)); 
} 
相關問題