颤动:未为类“ Future <Map>”定义运算符“ []”

时间:2019-11-09 14:34:01

标签: flutter

尝试访问文件中的某些数据时出现此错误

the operator '[]' isn't defined for the class 'Future<Map>'

我该如何解决?

Future<Map<dynamic, dynamic>> get getData async {
  final newData = await readFile().then((Map<dynamic, dynamic> value) {
    return value;
  });
  return newData;
}

final int time = getData['startTime']; // <--- error

1 个答案:

答案 0 :(得分:0)

您收到该错误的原因是因为 getDataFuture,而不是 Map - 其中可以使用 []。正如前面评论中提到的,getData 异步函数只会在使用 Map 关键字执行 getData 后返回 await。您可以在此 guide 上阅读有关使用 Dart 进行异步编程的更多详细信息。