如何将 Future Map 分配给 Flutter 中的静态变量?

时间:2021-06-16 14:40:55

标签: flutter static future

我想收集所有数据并将它们放入一个地图变量中:

//function
  Future<Map<String, String>?> getLoginUser() async{
    Map<String,String> ?userLoginInfo;
      userTable!.get().then((res) {
        var data = res.data;
        userLoginInfo!.update(data['userEmail'],data['userPwd']);
      });
    return userLoginInfo;
  }
//I want to use the above function
Map<String,String>mockUsers=.getLoginUser() as Map<String, String>;

但是跑起来就是浪费时间,谁能告诉我这个以后怎么用?

谢谢!

1 个答案:

答案 0 :(得分:0)

使用 async 关键字删除/简化了 then() 的用法

Future<Map<String, String>?> getLoginUser() async{
    Map<String,String>? userLoginInfo;
    var data = (await userTable!.get()).data;
    userLoginInfo!.update(data['userEmail'],data['userPwd']);
    return userLoginInfo;
  }

用法

Map<String,String> mockUsers = await getLoginUser()!;

Map<String,String>? mockUsers = await getLoginUser();