Flutter 颤振设置状态()不';睡眠不能工作

Flutter 颤振设置状态()不';睡眠不能工作,flutter,async-await,setstate,Flutter,Async Await,Setstate,我有一个简单的问题,但我是新手。我必须更改3个按钮的颜色,然后等待2秒钟并调用另一个函数。 代码如下: setState((){ clr[0]= 0==gst ? Colors.green:Colors.red; clr[1]= 1==gst ? Colors.green:Colors.red; clr[2]= 2==gst ? Colors.green:Colors.red; }); sleep(const Duration(seconds:2)); cardKey

我有一个简单的问题,但我是新手。我必须更改3个按钮的颜色,然后等待2秒钟并调用另一个函数。 代码如下:

setState((){
   clr[0]= 0==gst ? Colors.green:Colors.red;
   clr[1]= 1==gst ? Colors.green:Colors.red;
   clr[2]= 2==gst ? Colors.green:Colors.red;
 });

 sleep(const Duration(seconds:2));

 cardKey.currentState.toggleCard(); // second function
问题是此代码等待2秒钟,然后更改颜色并调用第二个函数


我还尝试了
setstate()
中的
sleep()
,您应该使用
Future。延迟
来解决您的问题,因为不建议使用
睡眠。确保将函数定义为
async
。但是,如果您不想标记为async(或者函数不能与async一起使用),可以使用以下方法:

Future.delayed(Duration(seconds: 2)).then((_) {
  cardKey.currentState.toggleCard(); // second function
});
更多的阅读,我推荐