我是扑扑的初学者,我不太了解如何在扑扑中使用Async函数。 例如,
Future <String> readData() async {
final file = await localFile;
String body = await file.readAsString();
return body;
}
因此在这段代码中,我从本地文件中检索了一些数据。但是我想在应用程序的开头运行此功能,并希望显示结果。
不幸的是,我在main.dart中的构建函数是一个同步函数,当我这样做时:
child : Text(readData());
由于返回Future,因此它不起作用。我也不能使用await关键字,因为它的Build不是异步的。 我该如何等待获取此字符串并显示它?
答案 0 :(得分:1)
您可以尝试使用 FutureBuilder
child: FutureBuilder<String>(
builder: (context, data) {
return Text(data.hasData ? data.data : '');
},
future: readData(),
),
答案 1 :(得分:0)
Dart Streams - Flutter in Focus
这很好地解释了,我认为应该可以帮助您