gpt4 book ai didi

java - RxJava withLatestFrom 不工作

转载 作者:行者123 更新时间:2023-11-29 06:56:04 26 4
gpt4 key购买 nike

运行我的示例代码后,我预期结果如下。

测试
测试
测试

但实际上什么都没发生。

请让我知道我的代码有什么问题。

    Subject<String, String> subject = PublishSubject.create();
subject.onNext("test");

Observable<String> observable = Observable.from(new String[] {"a", "b", "c"}).repeat(2);
observable.withLatestFrom(subject, (s1, s2) -> s1 + s2)
.subscribe(s -> System.out.println(s));

最佳答案

首先,withLatestFrom 丢弃值,直到另一个可观察对象产生它的第一个值。如果主源是同步的并且在另一个源发出之前冲过,这种情况经常发生。

其次,PublishSubject 向订阅者发送消息,但在您的示例中,在 subject.onNext() 行,没有人观察该值,因为这样就掉线了。

您可以使用 BehaviorSubject 代替,它会记住最后一个值并且 withLatestFrom 也会立即看到它。

关于java - RxJava withLatestFrom 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33893155/

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