mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-06 11:09:28 +00:00
30 lines
662 B
Dart
30 lines
662 B
Dart
import 'dart:async';
|
|
|
|
import 'package:flutter/material.dart';
|
|
import 'package:flutter_hooks/flutter_hooks.dart';
|
|
|
|
void useInterval(VoidCallback callback, Duration delay) {
|
|
final savedCallback = useRef(callback);
|
|
savedCallback.value = callback;
|
|
|
|
useEffect(
|
|
() {
|
|
final timer = Timer.periodic(delay, (_) => savedCallback.value());
|
|
return timer.cancel;
|
|
},
|
|
[delay],
|
|
);
|
|
}
|
|
|
|
void useTimer(VoidCallback callback, Duration delay) {
|
|
final savedCallback = useRef(callback);
|
|
savedCallback.value = callback;
|
|
|
|
useEffect(
|
|
() {
|
|
final timer = Timer(delay, savedCallback.value);
|
|
return timer.cancel;
|
|
},
|
|
[delay],
|
|
);
|
|
}
|