android - RxView.debounce等待debounce的时间才执行命令,如何立即执行命令?

标签 android rx-java rx-binding

我的 Android 应用程序中有以下代码,试图防止多次单击按钮:

RxView.clicks(bSubmit)
            .debounce(2500, TimeUnit.MILLISECONDS)
            .observeOn(AndroidSchedulers.mainThread())
            .subscribe(c -> displayToast());

但不是执行代码,然后防止同一时间跨度内的多次点击发生作用, 这段代码的作用是,它在去抖时间过去后执行命令。

如何才能实现我想要的目标?

最佳答案

根据Reactivex.io documentation , debounce 在时间窗口内发出最后一个事件。

您想要的是在时间窗口内发出 first 事件,这就是 throttleFirst (请参阅 documentation )。

RxView.clicks(bSubmit)
        .throttleFirst(2500, TimeUnit.MILLISECONDS)
        .observeOn(AndroidSchedulers.mainThread())
        .subscribe(c -> displayToast());

关于android - RxView.debounce等待debounce的时间才执行命令,如何立即执行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38850760/

相关文章:

javascript - JavaScriptCore 和 React Native 上的 ES6

java - 我的 R 文件不会在我的任何项目中生成?

rx-java - 如何在RxJava中的动态列表上创建观察者?

java - 我的 rxjava 程序中的 Scheduler.Worker 线程引发致命异常

android - 微调器的 RxBindings?

android - JNCryptor - RNCryptor 图像文件加密/解密

android - 在使用 Android NDK r10e 构建静态库时“无效使用 'auto'”

android - RXJava 调度程序/线程如何为不同的运算符(operator)工作?

android - 具有rxBinding的setOnSeekBarChangeListener

android - 使用 rxbinding 时我应该取消订阅吗?