Flutter 如何将变量从Future传递到flatter中的void?

Flutter 如何将变量从Future传递到flatter中的void?,flutter,dart,Flutter,Dart,我正在使用SharedReferences我制作了一个简单的saver和getter,但我想在使用initState打开应用程序时加载我的变量名: 数据是带有占位符的字符串 储蓄者 您必须使用then方法来执行此操作,因为initstate在数据从异步方法到达之前完成提取 @override void initState() { super.initState(); getNamePreference().then((name){ setState(() {

我正在使用SharedReferences我制作了一个简单的saver和getter,但我想在使用initState打开应用程序时加载我的变量名:

数据是带有占位符的字符串

储蓄者


您必须使用then方法来执行此操作,因为initstate在数据从异步方法到达之前完成提取

@override
  void initState() {
    super.initState();
    getNamePreference().then((name){
       setState(() {
           data = name;
       });
    }); 
  }

您是否尝试过-name=wait getnameproference;在initState?或setState=>data=Wait getNamePreference中;已经有一篇类似的帖子提供了答案。我认为最好不要将initState保持为异步。当然,我忘了删除它。谢谢@AbhilashChandran
Future<String> getNamePreference() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  final name = prefs.getString('name');

  return name.toString();
}
  @override
  void initState() async {
    super.initState();
    await getNamePreference();
    setState(() {
      data = name;
    });
  }
@override
  void initState() {
    super.initState();
    getNamePreference().then((name){
       setState(() {
           data = name;
       });
    }); 
  }