尝试访问文件中的某些数据时出现此错误
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
答案 0 :(得分:0)
您收到该错误的原因是因为 getData
是 Future
,而不是 Map
- 其中可以使用 []
。正如前面评论中提到的,getData
异步函数只会在使用 Map
关键字执行 getData
后返回 await
。您可以在此 guide 上阅读有关使用 Dart 进行异步编程的更多详细信息。