How to debounce action in Flutter
Issue #293 Answer https://stackoverflow.com/a/55119208/1418457 This is useful to throttle TextField change event. You can make Debouncer class using Timer import 'package:flutter/foundation.dart'; import 'dart:async'; class Debouncer { final int milliseconds; VoidCallback action; Timer _timer; Debouncer({ this.milliseconds }); run(VoidCallback action) { if (_timer != null) { _timer.cancel(); } _timer = Timer(Duration(milliseconds: milliseconds), action); } } Declare and trigger final _debouncer = Debouncer(milliseconds: 500); onTextChange(String text) { _debouncer.run(() => print(text)); }