debounce<T> method
void
debounce<T>(
- RxInterface<
T> rx, - void callback(
- T
- Duration duration = const Duration(milliseconds: 400),
Calls callback after rx stops changing for duration.
Useful for search-as-you-type, form validation, etc.
debounce(searchQuery, (q) => fetchResults(q),
duration: const Duration(milliseconds: 500));
Implementation
void debounce<T>(
RxInterface<T> rx,
void Function(T) callback, {
Duration duration = const Duration(milliseconds: 400),
}) {
Timer? timer;
_workers.add(rx.listen((val) {
timer?.cancel();
timer = Timer(duration, () => callback(val));
}));
}