import 'dart:ui'; class Throttler { Throttler({required this.milliSeconds}); final int milliSeconds; int? lastActionTime; void run(VoidCallback action) { if (lastActionTime == null) { action(); lastActionTime = DateTime.now().millisecondsSinceEpoch; } else { if (DateTime.now().millisecondsSinceEpoch - lastActionTime! > (milliSeconds)) { action(); lastActionTime = DateTime.now().millisecondsSinceEpoch; } } } }