Flutter 如何在颤振延迟后运行代码?
我想在我的小部件构建完成后,在一定的延迟后执行一个函数。在Flatter中,这样做的惯用方法是什么 我正在努力实现的目标:Flutter 如何在颤振延迟后运行代码?,flutter,dart,delay,Flutter,Dart,Delay,我想在我的小部件构建完成后,在一定的延迟后执行一个函数。在Flatter中,这样做的惯用方法是什么 我正在努力实现的目标: 我想从一个默认的logo小部件开始,然后在一段时间后更改它的style属性 解决了这个问题一段时间后,您可以使用它来运行代码。e、 g: Future.delayed(const Duration(milliseconds: 500), () { // Here you can write your code setState(() { // Here yo
我想从一个默认的
logo
小部件开始,然后在一段时间后更改它的style
属性 解决了这个问题一段时间后,您可以使用它来运行代码。e、 g:
Future.delayed(const Duration(milliseconds: 500), () {
// Here you can write your code
setState(() {
// Here you can write your code for open new view
});
});
在设置状态功能中,您可以编写与应用程序用户界面相关的代码,例如刷新屏幕数据、更改标签文本等。只需在上述答案上添加更多说明即可 计时器功能也适用于以下持续时间:
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");
});
倒计时后触发动作
重复操作
立即触发计时器
Future.delayed(持续时间(秒:3),你的函数)
(在old q上添加响应,因为这是google上的最高结果)
我试图在一个集团内的回调中产生一个新的状态,但没有成功。尝试使用计时器和Future.delayed
然而,真正起作用的是
await Future.delayed(const Duration(milliseconds: 500));
yield newState;
等待一个空的未来,然后运行函数。等待未来。延迟(持续时间(毫秒:1000)) 你可以用两种方法来做,一种是
未来。延迟的,另一种是计时器
Timer(Duration(seconds: 5), () {
print(" This line is execute after 5 seconds");
});
使用定时器
Timer
是一个表示倒计时的类,该类被配置为在到达时间结束时触发操作,它可以触发一次或多次
确保导入dart:async
包以启动要使用计时器的程序
Timer(Duration(seconds: 5), () {
print(" This line is execute after 5 seconds");
});
使用Future.delayed
Future.delayed
创建一个在延迟后运行其计算的Future
确保导入“dart:async”代码>程序包以启动未来使用的程序。延迟
Future.delayed(Duration(seconds: 5), () {
print(" This line is execute after 5 seconds");
});
在这里留下大家都在寻找的片段:
Future.delayed(持续时间(毫秒:100),(){
//做点什么
});
从何处导入计时器
获得了导入'dart:async'
一个修改是将计时器=…
置于初始状态
覆盖。这样,您就可以访问小部件
,它是在状态
构造函数中设置的。我认为这个答案不应该被接受,因为它不仅会在延迟后运行代码,还会重复代码@Rahul Sharma解决延迟问题的方法要好得多。Rahul的回答不会取消计时器,所以如果你的小部件消失了,你肯定会有漏洞吗?(注意:我不是颤振开发人员,我几年前使用过一次!)可以添加持续时间:对于新的beeTo,避免在调用setStateshort和perfect之前进行警告检查,确保您的小部件仍然安装
await Future.delayed(const Duration(milliseconds: 500));
yield newState;
Timer(Duration(seconds: 5), () {
print(" This line is execute after 5 seconds");
});
Future.delayed(Duration(seconds: 5), () {
print(" This line is execute after 5 seconds");
});