java - RxJava 去抖动

标签 java rx-java observable system.reactive debouncing

我试图在 1000 毫秒的窗口内对 100 毫秒的制作者进行去抖动。 我希望看到订阅每 1 秒更新一次,并使用该期间发出的最后一个值,但是我什么也没得到。 我在这里缺少什么?

public static void main(String[] args) throws InterruptedException {
    Observable
      .interval(100, TimeUnit.MILLISECONDS)
      .debounce(1000, TimeUnit.MILLISECONDS)
      .subscribe(
          update -> System.out.println(new Date().toString() + " " + update),
          error -> System.out.println("ERROR")
      );
    Thread.sleep(20000);
  }

最佳答案

找到了。我试图在 RXJava 中找到一个相当于 RxJS 的 debounceTime() 的运算符,它恰好是 sample() 或 throttleLast()。

关于java - RxJava 去抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46476133/

相关文章:

android - RxJava,改造错误:Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

reactive-programming - RxJava- 何时不使用 Observable?

ruby-on-rails - ruby rails : Observe model changes from controller action

java - 从扫描的 PDF 中读取二维码

java - SQLite 保存日期 12/31/69?

android - 如何在 RxJava 中处理 onError。我得到 "OnErrorNotImplementedException"

angular - 在 Angular 中进行嵌套 API 调用

java - 使用 retryWhen() 重试 observable

java - 扩展接口(interface)与通过匿名类实例化

java - Java中的方法调用语法