关于未来<map<string,dynamic>和_map<string,dynamic>

问题描述 投票:0回答:1

我正在开发一个具有以下 dart 文件的应用程序。

  1. Holderscreen.dart
  2. 仪表板.dart
  3. 厨房.dart 我将信息从持有者页面传递到其他页面,如下所示

KitchenScreen(accessToken:widget.accessToken,userRes:tempUserRes,profileType:widget.profileType,ivString:widget.ivString,notifyParent:getUserDataForeignFunc),

在应用程序初始化并调用 getUserDate 时返回 userRes,这是一种 future 但在厨房屏幕中进行更新后,我回想起 Holder.dart 文件中的方法,该方法再次刷新/获取 userRes,但这次它是_map 的类型,因此厨房屏幕显示异常

════════ Exception caught by widgets library ═══════════════════════════════════
type '_Map<String, dynamic>' is not a subtype of type 'Future<Map<String, dynamic>>'

这是在holder.dart文件中调用的方法

Future<Map<String, dynamic>> getUserData() async {
    dynamic userRes;
    userRes = await getUserProfileData(widget.accessToken, widget.ivString, widget.profileType);
    return userRes;
  }

知道发生了什么。根据建议,我将按要求分享我的代码,不想添加大量代码并给社区造成混乱

ios flutter dart mobile
1个回答
0
投票

您可以在这里清楚地看到您正在等待未来的结果:

dynamic userRes;
userRes = await getUserProfileData(widget.accessToken, widget.ivString, widget.profileType);

然后您将得到作为动态 userRes 的结果,它不再是未来,但您将其作为一个返回。

© www.soinside.com 2019 - 2024. All rights reserved.