debounce method
void
debounce()
Implementation
void debounce() {
final key = _generateKey();
final hasTimer = _funcDebounce[key] != null;
if (immediate && !hasTimer) {
target?.call();
}
_funcDebounce[key]?.cancel();
_funcDebounce[key] = Timer(Duration(milliseconds: timeout), () {
final t = _funcDebounce.remove(key);
t?.cancel();
if (!immediate) {
target?.call();
}
});
}