gpt4 book ai didi

java - RxJava- CombineLatest 但仅针对一个 Observable 的发射触发?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:47 24 4
gpt4 key购买 nike

假设我有两个可以随时发出值的无限 Observable。他们结合创造了一个 Observable<ProcessFileEvent> .

Observable<Integer>  selectedFileId= ...
Observable<MouseClick> buttonClick = ...

Observable<ProcessFileEvent> `processFileEvent` = Observable.combineLatest(selectedFileId, buttonClick, (s,b) -> {
//create ProcessFileEvent here
});

问题是我只希望 processFileEvent 在 buttonClick 时发出发出一些东西,而不是 selectedFileId .当输入文件 ID 并启动 ProcessFileEvent 时,这绝对不是用户期望的行为。 .如何组合但仅在 buttonClick 时发出发射?

最佳答案

使用withLatestFrom :

Observable<Integer>  selectedFileId= ...
Observable<MouseClick> buttonClick = ...

Observable<ProcessFileEvent> processFileEvent = buttonClick.withLatestFrom(selectedFieldId, (b,s) -> {
//create ProcessFileEvent here
});

它仅在第一个 Observable buttonClick 发出时发出。

关于java - RxJava- CombineLatest 但仅针对一个 Observable 的发射触发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31302287/

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