我想在我的小部件构建后,在一定的延迟后执行一个函数。颤振的惯用方法是什么?
我想要达到的目标: 我想从默认的FlutterLogo小部件开始,然后在一段时间后更改其样式属性。
我想在我的小部件构建后,在一定的延迟后执行一个函数。颤振的惯用方法是什么?
我想要达到的目标: 我想从默认的FlutterLogo小部件开始,然后在一段时间后更改其样式属性。
当前回答
Future.delayed(Duration(seconds: 3), your_function)
其他回答
(在老q上添加响应,因为这是谷歌上的顶部结果)
我尝试在一个集团内的回调中产生一个新的状态,它没有工作。try with Timer和Future.delayed。
然而,奏效的是……
await Future.delayed(const Duration(milliseconds: 500));
yield newState;
等待一个空的未来,然后运行该函数。
同步
Future.delayed(Duration(milliseconds: 1000), () {
// Your code
});
异步
await Future.delayed(const Duration(milliseconds: 1000));
一个快速的方法是使用Future.delayed,如下所示:
Future.delayed(Duration(seconds: 10), (){
print("Wait for 10 seconds");
});
或者你可以像这样将持续时间更改为毫秒:
Future.delayed(Duration(milliseconds: 3000), () {
print("Wait for 3000 milliseconds");
});
倒计时后触发动作
Timer(Duration(seconds: 3), () {
print("Yeah, this line is printed after 3 seconds");
});
重复的行为
Timer.periodic(Duration(seconds: 5), (timer) {
print(DateTime.now());
});
立即触发定时器
Timer(Duration(seconds: 0), () {
print("Yeah, this line is printed immediately");
});
只是在上面的答案上增加了更多的描述
计时器功能也适用于以下持续时间:
const Duration(
{int days = 0,
int hours = 0,
int minutes = 0,
int seconds = 0,
int milliseconds = 0,
int microseconds = 0})
例子:
Timer(Duration(seconds: 3), () {
print("print after every 3 seconds");
});