何时使用 zip() 而不是 zipWith() RxJava
在 RxJava 中,与 vs. 成对组合是否存在任何语义差异?静态 zip 和 .zip 之间的选择是否纯粹是样式?zip()
zipWith(
在 RxJava 中,与 vs. 成对组合是否存在任何语义差异?静态 zip 和 .zip 之间的选择是否纯粹是样式?zip()
zipWith(
便利性和上下文。
当您已经组装了两个源并且现在想要将它们压缩在一起时,静态非常有用。大多数时候,他们自己就是长链子,或者来自四面八方。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));
}