debounce static method

void Function() debounce(
  1. void action(), {
  2. Duration delay = const Duration(milliseconds: 300),
})

Debounces repeated calls and runs only the latest action.

Implementation

static void Function() debounce(
  void Function() action, {
  Duration delay = const Duration(milliseconds: 300),
}) {
  Timer? timer;
  return () {
    timer?.cancel();
    timer = Timer(delay, action);
  };
}