1
在與RxJava中的zip()與zipWith()的成對組合中,是否存在任何語義差異?靜態zip和.zip之間的選擇是純粹的風格嗎?什麼時候使用zip()而不是zipWith()RxJava
在與RxJava中的zip()與zipWith()的成對組合中,是否存在任何語義差異?靜態zip和.zip之間的選擇是純粹的風格嗎?什麼時候使用zip()而不是zipWith()RxJava
便利性和背景。
靜態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));
}