Для некоторого кода, который я пишу, я мог бы использовать хорошую общую реализацию debounce
в Java.
public interface Callback {
public void call(Object arg);
}
class Debouncer implements Callback {
public Debouncer(Callback c, int interval) { ... }
public void call(Object arg) {
// should forward calls with the same arguments to the callback c
// but batch multiple calls inside `interval` to a single one
}
}
Когда call()
вызывается несколько раз в interval
миллисекундах с тем же аргументом, функция обратного вызова должна вызываться ровно один раз.
Визуализация:
Debouncer#call xxx x xxxxxxx xxxxxxxxxxxxxxx
Callback#call x x x (interval is 2)
- Есть ли что-то вроде этого в некоторой стандартной библиотеке Java?
- Как бы вы это реализовали?