Debouncer class
A utility class for debouncing function calls.
Debouncing ensures that a function is only called once after a specified delay, even if it's triggered multiple times. This is useful for scenarios like preventing duplicate notifications or handling rapid user interactions.
Example usage:
final debouncer = Debouncer(delay: Duration(milliseconds: 500));
// This will only execute once, even if called multiple times rapidly
debouncer.run(() {
print('This will only print once after 500ms');
});
- Implementers
Properties
- delay → Duration
-
The delay duration before executing the debounced function
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- isActive → bool
-
Whether the debouncer is currently active (has a pending execution)
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- timer ↔ Timer?
-
Internal timer for managing the debounce delay
getter/setter pair
Methods
-
cancel(
) → void - Cancels any pending debounced action.
-
dispose(
) → void - Disposes of the debouncer and cancels any pending actions.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
run(
VoidCallback action) → void - Runs the provided action after the debounce delay.
-
runAsync(
Future< void> action()) → void - Runs the provided async action after the debounce delay.
-
toString(
) → String -
A string representation of this object.
override
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited