#flutter #future #flutter-desktop
#трепетание #будущее #флаттер-рабочий стол
Вопрос:
Я пытаюсь прочитать компоненты файла 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 и json.decode() в другом классе, используя следующее:
Future<String> data = CharacterDataReader().read();
Map<String, dynamic> characterData = json.decode(data);
Однако это не работает, поскольку json.decode() принимает только строки в качестве параметра. Поэтому, может кто-нибудь, пожалуйста, скажите мне, как мне преобразовать это будущее в фактическую строку?
Ответ №1:
поскольку это будущее, вы должны добавить ключевое слово await
String data= await CharacterDataReader().read();
ознакомьтесь с официальным документом dart по асинхронному программированию