您可以将Future<String>
转换为String
吗?
每次启动应用程序时,它都应该从数据库中获取数据,将其存储在.csv文件中,读取.csv文件并更新一些字符串变量。我希望我的应用程序可以离线运行。
我正在寻找这样的解决方案:
String string;
Future<String> = futureString;
if (futureString == null) {
string = '{standard value}';
} else {
string = futureString;
}
我希望你们能得到图片并且可以帮助我!谢谢!
最佳答案
您只需要await
作为值:
string = await futureString;
由于value是
Future<String>
,因此 await
关键字将等到任务完成并返回值,而不移至下一条语句。请注意,要使用
await
,您必须将方法async
设置为ronous yourMethod() async {}
或使用
then
回调:futureString.then((value) {
string = value;
});
两者都在做相同的事情,但是当您使用回调时,不需要使方法异步,但是异步将提高可读性(根据情况使用一种方法)。