Debounce class

A utility function to debounce a given function.

Debouncing ensures that the function is only called once after a specified duration has passed since the last time it was invoked. This is useful for scenarios where you want to limit the rate at which a function is executed, such as handling user input events or API calls.

Example:

final debouncer = Debounce(() => print('Hello, world!'));

By default, this will print 'Hello, world!' after 500 milliseconds. You can also specify a custom duration:

final debouncer = Debounce(() => print('Hello, world!'), duration: Duration(seconds: 1)});

To reset the debounce, and start the timer again, call the debounce method with an optional new callback:

debouncer.debounce(newCallback: () => print('Later, world!'));

If this debounce is no longer needed, you can cancel it:

debouncer.cancel();

Constructors

Debounce(void callback(), {Duration duration = _debounceDuration})
Constructs and starts the debouncer.
factory
Debounce.stopped(void callback(), {Duration duration = _debounceDuration})
Constructs debouncer but does not initialize the timer.

Properties

callback → void Function()
Function called after Duration has elapsed.
final
duration Duration
Duration to wait for function to be ready to send.
final
hashCode int
The hash code for this object.
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

cancel() → void
Cancels the debouncer.
debounce({void newCallback()?}) → void
Starts the debouncer.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited