使用rxjava在一个流中轮询多个API端点
我目前正在尝试轮询多个端点(它们是不同的) 问题是我想只轮询那些没有以聚合方式返回我需要的状态的端点,因此流基本上是: 生成请求->将它们合并到一个流->轮询响应->检查状态匹配:使用rxjava在一个流中轮询多个API端点,java,rx-java,polling,Java,Rx Java,Polling,我目前正在尝试轮询多个端点(它们是不同的) 问题是我想只轮询那些没有以聚合方式返回我需要的状态的端点,因此流基本上是: 生成请求->将它们合并到一个流->轮询响应->检查状态匹配: 如果不等待,请重新执行流程 如果将观察者从流中带出 这就是我写的,感觉好像我错过了什么 Observable.merge(buildRequests()) .repeatWhen(obs -> obs.delay(5000, TimeUnit.MILLISECONDS)) .takeUntil(response
Observable.merge(buildRequests())
.repeatWhen(obs -> obs.delay(5000, TimeUnit.MILLISECONDS))
.takeUntil(response -> CheckShouldRepeat(response)).subscribe(whatever());
非常感谢
Observable.fromCallable(() -> buildRequests())
.repeatWhen(o -> CheckShouldRepeat(v -> Observable.timer(5000, TimeUnit.MILLISECONDS)));
这会有所帮助