import 'dart:async'; import 'package:flutter/material.dart'; class FxDebouncer { final int milliseconds; VoidCallback? action; Timer? _timer; FxDebouncer({ required this.milliseconds, this.action, }); run(VoidCallback action) { if (_timer != null) { _timer!.cancel(); } _timer = Timer(Duration(milliseconds: milliseconds), action); } }