Flutter 如何在颤振中做异步函数等处理

Flutter 如何在颤振中做异步函数等处理,flutter,asynchronous,async-await,Flutter,Asynchronous,Async Await,我创建initPlatformState。。一个用于检测模拟位置的异步函数,在initPlatformState函数的过程完成后,我需要做一些事情…但问题是。。。因为initPlatformState是异步工作的,我没有把initPlatformState放在initState里面initPlatformState将在尚未完成之前工作。。。有没有办法等待initPlatformState完成了这个过程,然后我会做其他事情? 这是我的密码 bool canMockLocation=false; i

我创建
initPlatformState
。。一个用于检测模拟位置的异步函数,在
initPlatformState
函数的过程完成后,我需要做一些事情…但问题是。。。因为
initPlatformState
是异步工作的,我没有把
initPlatformState
放在
initState
里面
initPlatformState
将在尚未完成之前工作。。。有没有办法等待
initPlatformState
完成了这个过程,然后我会做其他事情? 这是我的密码

bool canMockLocation=false;
initPlatformState() async {
    if (!mounted) return;
    try {
      canMockLocation = await TrustFall.canMockLocation;
    } catch (error) {
      print(error);
    }

    setState(() {
      canMockLocation = canMockLocation;
    });
  }

_getData() async {
       setState(() {
        load = true;
      });
      initPlatformState();
      setState(() {
        load = false;
      });
       if(canMockLocation){
        show alert;
       }else{
        print("check");
       }
这是我的小部件

             Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: <Widget>[
                      loadLocation
                          ? Text("Loading...") 
                          : Text("Success")
             .....
列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
装载位置
?文本(“加载…”)
:文本(“成功”)
.....

在调用此方法的位置添加wait。wait将保持该位置,直到函数过程未完成

await initPlatformState();

我想问..你说等待会一直持续到进程没有完成…你说不完成是什么意思?因为你的initPlatformState方法是异步的,所以如果你在调用的地方添加wait(in _getData方法),那么直到函数的每一行都没有执行,_getData的下一行将不会退出。所以使用
wait initPlatformState()
getData
将一直执行,直到
initPlatformState()
中的进程完成…如果我这样说是否正确?是的,更清楚地说。即使这一行也不会执行load=false;