如何在 flutter 中使用 Future<String> 方法返回的字符串?
How to use a String returned by a Future<String> method in flutter?
我正在尝试使用以下方法读取 json 文件的组件:
import 'dart:io';
class CharacterDataReader {
Future<String> read() async {
final file = File('assets/data/character_data.json');
String data = await file.readAsString();
return data;
}
}
现在,我正在尝试将读取的值分配给一个名为 data 的字符串,并在另一个 class 中 json.decode() 使用以下代码:
Future<String> data = CharacterDataReader().read();
Map<String, dynamic> characterData = json.decode(data);
但是,这不起作用,因为 json.decode() 只接受字符串作为参数。因此,有人可以告诉我如何将这个 Future 转换为实际的字符串吗?
因为它是未来,你必须添加 await 关键字
String data= await CharacterDataReader().read();
上的 dart 官方文档
我正在尝试使用以下方法读取 json 文件的组件:
import 'dart:io';
class CharacterDataReader {
Future<String> read() async {
final file = File('assets/data/character_data.json');
String data = await file.readAsString();
return data;
}
}
现在,我正在尝试将读取的值分配给一个名为 data 的字符串,并在另一个 class 中 json.decode() 使用以下代码:
Future<String> data = CharacterDataReader().read();
Map<String, dynamic> characterData = json.decode(data);
但是,这不起作用,因为 json.decode() 只接受字符串作为参数。因此,有人可以告诉我如何将这个 Future 转换为实际的字符串吗?
因为它是未来,你必须添加 await 关键字
String data= await CharacterDataReader().read();
上的 dart 官方文档