debounce static method

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

函数防抖

Implementation

static debounce(
  Function func, [
  Duration delay = const Duration(milliseconds: 500),
]) {
  String key = func.toString() + '_debounce';
  if (!enableMap.containsKey(key)) {
    enableMap.addAll({key: null});
  }

  if (enableMap[key]?.isActive ?? false) {
    enableMap[key]?.cancel();
  }
  enableMap[key] = Timer(delay, () {
    func.call();
  });
}