debounce method
Registers a debounced callback which is invoked only after the notifier's value
is stable for the specified duration
.
Implementation
VoidCallback debounce(Duration duration, void Function(T value) action) {
Timer? debounceTimer;
void listener() {
debounceTimer?.cancel();
debounceTimer = Timer(duration, () => action(value));
}
addListener(listener);
return () => {
debounceTimer?.cancel(),
removeListener(listener),
};
}