debounce static method

Function debounce(
  1. Function func, [
  2. Duration delay = const Duration(milliseconds: 500)
])

防抖函数封装 func: 要执行的函数 delay: 防抖时间(毫秒)

Implementation

static Function debounce(
  Function func, [
  Duration delay = const Duration(milliseconds: 500),
]) {
  Timer? timer;
  return () {
    if (timer?.isActive ?? false) {
      timer?.cancel();
    }
    timer = Timer(delay, () {
      func.call();
    });
  };
}