使用rxjava在一个流中轮询多个API端点

问题描述 投票:-1回答:1

我正在尝试轮询多个端点(这是不同的)问题是我想继续仅轮询没有以聚合方式返回我需要的状态的端点,因此流程基本上是:

构建请求 - >将它们合并到一个流 - >轮询响应 - >检查状态是否匹配:

  1. 如果不等待并重做流程
  2. 如果确实将观察者带出了流

这就是我写的,感觉我错过了什么

Observable.merge(buildRequests())
.repeatWhen(obs -> obs.delay(5000, TimeUnit.MILLISECONDS))
.takeUntil(response -> CheckShouldRepeat(response)).subscribe(whatever());

谢谢一堆!

java rx-java polling
1个回答
0
投票
Observable.fromCallable(() -> buildRequests())
.repeatWhen(o -> CheckShouldRepeat(v -> Observable.timer(5000, TimeUnit.MILLISECONDS)));

这可以帮助。

© www.soinside.com 2019 - 2024. All rights reserved.