gpt4 book ai didi

java - 何时使用 zip() 而不是 zipWith() RxJava

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:54 26 4
gpt4 key购买 nike

在 RxJava 中,使用 zip()zipWith() 成对组合在语义上有什么区别吗?静态 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 实例在其中一个源较长而另一个较短时很有用。到那时,用短一点的 zipper 更方便。

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));
}

关于java - 何时使用 zip() 而不是 zipWith() RxJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45575919/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com