debounceWithScheduler<Time, Interval> method

Effect<Value> debounceWithScheduler<Time, Interval>({
  1. required String id,
  2. required Interval interval,
  3. required Scheduler<Time, Interval> scheduler,
})

Scheduler-aware variant of Effect.debounce that uses the provided scheduler. The same id is reused to cancel pending debounced work.

Example:

final debounced = effect.debounceWithScheduler(
  id: "search",
  interval: const Duration(milliseconds: 200),
  scheduler: customScheduler,
);

Implementation

Effect<Value> debounceWithScheduler<Time, Interval>({
  required String id,
  required Interval interval,
  required Scheduler<Time, Interval> scheduler,
}) {
  return switch (this) {
    NoneEffect _ => this,
    _ => delayWithScheduler(interval, scheduler).cancellable(id: id, cancelInFlight: true),
  };
}