java - 如何在背压期间仅缓冲来自 rx.Observable 的最新发射

标签 java android reactive-programming rx-java backpressure

我有一个 rx.Observable,它将任务的进度发送到 onNext()onNext() 发射有时会发生得如此之快以至于 Observer 无法跟上,导致 backpressure .我想通过仅缓冲来自 Observable 的最新发射来处理背压。

例如:

  • Observable 发出 1 并且 Observer 接收 1
  • Observer 仍在处理 1 时,Observable 发出 23 , 和 4
  • Observer 完成处理 1 并开始处理 4(发射 23 被丢弃)。

这似乎是在 Rx Observable 中处理进度的常见情况,因为您通常只关心使用最新的进度信息更新您的 UI。但是我一直无法弄清楚如何做到这一点。

有人知道如何使用 RxJava 实现这一点吗?

最佳答案

关于java - 如何在背压期间仅缓冲来自 rx.Observable 的最新发射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31815989/

相关文章:

java - 从生产者到消费者的可靠文件移交

Java - 如何使用 XML Pull Parser 轻松解析 XML?

android - setContentView() 先调用还是最后调用?

reactive-programming - Vertx 在 Quarkus vertx mutiny webclient 扩展中不可用

java - 最后一位数字补零

java - JProfiler : knowing which method is calling for java objects

java - 检查字符串是波斯语还是英语

java - Spring webflux WebClient日志 'Connection reset by peer'

mvvm - 响应式 UI 和双向绑定(bind)

java - 计算性能