PIbd-31_Belianin_N._N._PMD/lib/utils/debounce.dart
nikbel2004@outlook.com fb76d00505 laboratory_6
2024-09-30 04:34:25 +04:00

24 lines
825 B
Dart
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import 'dart:async';
import 'dart:ui';
class Debounce {
// Фабричный конструктор, возвращающий экзепляр класса Debounce. Паттерн Singleton
factory Debounce() => _instance;
// Приватный конструктор (Не даёт создание класса извне)
Debounce._();
// Статический экземпляр класса
static final Debounce _instance = Debounce._();
static Timer? _timer;
// Статический метод, где action функция, совершающая действие, а delay совершает задержку)
static void run(
{required VoidCallback action,
Duration delay = const Duration(milliseconds: 500)}) {
_timer?.cancel();
_timer = Timer(delay, action);
}
}