作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 GUI 中工作,我有多种类型的事件可能会导致按钮被禁用。我已经尝试了几种方法来组合这两个 Observable,但我发现的每个解决方案都需要两个 Observable 在产生结果之前发布一个事件。例如,在这段代码中:
public class Test {
public static void main(String[] args) {
PublishSubject<Boolean> conditionAStream = PublishSubject.create();
PublishSubject<Boolean> conditionBStream = PublishSubject.create();
conditionAStream
.zipWith(conditionBStream, (conditionA, conditionB) -> conditionA && conditionB)
.subscribe(result -> System.out.println(result));
conditionAStream.onNext(false);
conditionBStream.onNext(false);
//Expected output: false
conditionAStream.onNext(true);
//Expected output: false
conditionBStream.onNext(true);
//Expected output: true
conditionAStream.onNext(false);
//Expected output: false
}
}
但我得到的输出是:
false
true
有没有什么方法可以与 Observables 结合,以便它们“缓存”最后的结果并对每个变化使用react?
最佳答案
您正在寻找 combineLatest()
每次任何组合的可观察量发出时都会发出。它仍然需要它们中的每一个至少发射一次,但您可以将 .startWith()
添加到所有组合的可观察对象中,以确保它们具有初始发射。
关于java - RxJava zip 作用于 parent 双方的每一次改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37634655/
我正在努力加强我的 F#-fu,并决定解决 Facebook Hacker Cup Double Squares 问题。我在运行时遇到了一些问题,想知道是否有人可以帮助我弄清楚为什么它比我的 C# 等
我为 Web 服务定义了几个常量,我想让这些常量可供消费客户端使用。服务器和客户端都是.Net。 我认为可以通过使用枚举来实现这一点,但是我的许多常量都是带有空格的文本字符串,因此我必须编写一个额外的
我是一名优秀的程序员,十分优秀!