flutter - Flutter Timer 调用函数
问题描述
我需要每 5 分钟调用一次函数,但据我所见,计时器等待 5 分钟,然后调用该函数。它不应该在设置计时器时调用一次,然后每 5 分钟调用一次吗?
const time = const Duration(seconds: 300);
Timer.periodic(time, (Timer t) => _getData());
解决方案
你可以这样使用:
final int timerMaxSeconds = 1800;
int currentSeconds = 0;
startTimeout([int milliseconds]) {
var duration = interval;
Timer.periodic(duration, (timer) {
setState(() {
print(timer.tick);
currentSeconds = timer.tick;
if (timer.tick >= timerMaxSeconds)
timer.cancel();
// submitDataToFirebase();
});
});
}
并像这样调用 startTimeout
startTimeout(300);
推荐阅读
- react-native - 是否至少在渲染一次之前引用任何可用的组件?
- php - 如何在laravel的另一个表中获取数据where子句
- typescript - 从 Typescript 文件中导出多个接口
- react-native - 杀死Android上的应用程序时Expo TaskManager崩溃?
- javascript - 在我按下按钮之前我的代码正在运行,有人可以告诉我为什么吗?
- c++ - C++ 初始值设定项列表成员仍在调用默认构造函数?
- java - 如何在 Java 中使用 org.owasp.encoder.Encode?
- angular - 计算数组的值并将它们添加到对象(TypeScript)
- node.js - 如何使用 Node 检查本地端口 3000 上运行的内容?
- laravel - Laravel:如何将每个值数组放入新数组