📅  最后修改于: 2023-12-03 14:55:55.236000             🧑  作者: Mango
在 Dart 中,我们可以使用 Timer 类来实现每隔一定时间执行指定操作的功能。结合这个类,我们就可以实现每隔 X 秒抖动一次重复动作的需求。
导入 Timer 类
import 'dart:async';
创建一个 Timer
Timer timer = Timer.periodic(Duration(seconds: X), (timer) {
// 在这里执行重复动作
});
上述代码中,Duration(seconds: X) 表示每 X 秒执行一次回调函数。
在回调函数中执行重复动作
Timer timer = Timer.periodic(Duration(seconds: X), (timer) {
// 在这里执行重复动作
print('抖动一次');
});
完整代码如下:
import 'dart:async';
void main() {
const int X = 5;
Timer timer = Timer.periodic(Duration(seconds: X), (timer) {
print('抖动一次');
});
// 10 秒后停止定时器
Timer(Duration(seconds: 10), () {
timer.cancel();
});
}
如果我们需要在一定时间后停止定时器,可以使用 Timer 类的 cancel() 方法。
Timer timer = Timer.periodic(Duration(seconds: X), (timer) {
// 在这里执行重复动作
});
// 10 秒后停止定时器
Timer(Duration(seconds: 10), () {
timer.cancel();
});