Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何在颤振延迟后运行代码?_Flutter_Dart_Delay - Fatal编程技术网

Flutter 如何在颤振延迟后运行代码?

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

我想在我的小部件构建完成后,在一定的延迟后执行一个函数。在Flatter中,这样做的惯用方法是什么

我正在努力实现的目标:
我想从一个默认的
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");
});