相当于去抖运算符Rx

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

实际上,我需要实现类似debounce的运算符,但让我们举个例子。如果我将防抖设置为5秒钟,那么用户可以在5秒钟内单击按钮10次,而在5秒钟到期后,最后一次单击事件将被考虑在内。

我需要的选项是将5秒设置为一个时间范围,并且当用户单击10次时,只需单击一次[,而在5秒的时间范围内发出的所有其他点击都将被取消。

5秒后,用户可以再次开始单击。

如何做?

android rxjs rx-java rx-java2
1个回答
2
投票
RxJS中还有另一个运算符可以完成您的任务,throttleTime

它将订阅第一个发出的值,然后等待5秒,然后在5秒钟后再次发出值。

const source = fromEvent(document, 'click').pipe( throttleTime(5000), );

请在此处找到工作示例:https://stackblitz.com/edit/rxjs-hwviuc

您可以在throttleTime here上学习更多内容>

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