debounceWithKey static method
void
debounceWithKey(})
Implementation
static void debounceWithKey(
String key,
Function func, {
Duration duration = const Duration(milliseconds: 300),
}) {
// 使用key的hashCode和duration的组合作为唯一标识
final timerKey = key.hashCode ^ duration.inMilliseconds;
// 取消之前的timer(如果存在)
_debounceTimers[timerKey]?.cancel();
// 创建新的timer
_debounceTimers[timerKey] = Timer(duration, () {
Function.apply(func, []);
// timer执行完成后,从Map中移除(可选,也可以保留用于清理)
_debounceTimers.remove(timerKey);
});
}