У меня есть асинхронная функция, которая вызывает Firestore для получения значения данных.Я получил большую помощь в предыдущем посте ... многому научился ... и хотел начать с, надеюсь, более чистого вопроса.Итак, у меня есть следующая функция
Future<String> getSetList () async {
DocumentReference set01DocRef = Firestore.instance.collection('sets').document('SET01');
var snapshot = await set01DocRef.get();
songList = snapshot['songs']; //works, get expected text value from FS
return songList;
}
Эта логика функции работает ... Я могу распечатать () переменную songList var (string var) на консоль, и я вижу значение из Firestore.Когда я пытаюсь вызвать функцию:
@override
Widget build(BuildContext context) {
var setList = getSetList();
print('In widget: ' + setList.toString()); //shows as instance of Future<String>
//List<String> items = setList.split('|');
List<String> items = ['Red','White','Blue'];
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
Эта переменная setList не является строкой.Когда я печатаю его [print (setList.toString ()], он показывается как экземпляр Future String.
Я пытался использовать: var setList = await getSetList();
, но это показывает ошибку в ожидании.
Любые идеи приветствуются.