实际上,我需要实现类似debounce
的运算符,但让我们举个例子。如果我将防抖设置为5秒钟,那么用户可以在5秒钟内单击按钮10次,而在5秒钟到期后,最后一次单击事件将被考虑在内。
我需要的选项是将5秒设置为一个时间范围,并且当用户单击10次时,只需单击一次[,而在5秒的时间范围内发出的所有其他点击都将被取消。
5秒后,用户可以再次开始单击。如何做?
throttleTime
。它将订阅第一个发出的值,然后等待5秒,然后在5秒钟后再次发出值。
const source = fromEvent(document, 'click').pipe(
throttleTime(5000),
);
请在此处找到工作示例:https://stackblitz.com/edit/rxjs-hwviuc您可以在throttleTime here上学习更多内容>