String 你能转换未来吗<;字符串>;一根绳子?飞镖
你能把未来的String 你能转换未来吗<;字符串>;一根绳子?飞镖,string,flutter,dart,future,String,Flutter,Dart,Future,你能把未来的转换成字符串吗? 每次启动应用程序时,它都应该从数据库中获取数据,将其存储在.csv文件中,读取.csv文件并更新一些字符串变量。我希望我的应用程序脱机运行 我正在寻找这样的解决方案: String string; Future<String> = futureString; if (futureString == null) { string = '{standard value}'; } else { string = futureString; } 字
转换成字符串吗?
每次启动应用程序时,它都应该从数据库中获取数据,将其存储在.csv文件中,读取.csv文件并更新一些字符串变量。我希望我的应用程序脱机运行
我正在寻找这样的解决方案:
String string;
Future<String> = futureString;
if (futureString == null) {
string = '{standard value}';
} else {
string = futureString;
}
字符串;
未来=未来字符串;
如果(futureString==null){
字符串=“{standard value}”;
}否则{
字符串=未来字符串;
}
我希望你们能了解情况,帮我解决问题!谢谢 您只需等待值:
string = await futureString;
由于值是Future
,wait
关键字将等待任务完成并返回值,而不移动到下一条语句
请注意,要使用wait
必须使方法async
ronousyourMethod()异步{}
或者使用然后回调:
futureString.then((value) {
string = value;
});
两者都在做同样的事情,但当您使用回调时,您不需要使方法异步,但异步将提高可读性(根据场景使用一个)。首先您需要学习Dart语言
下面是一个示例,帮助您了解Future
在Dart中是如何工作的
void main()异步{
Future-futureString=Future.value('Data from DB');
打印(futureString);//输出:“\u Future”的实例
打印(等待未来字符串);//输出:来自数据库的数据
if(等待未来字符串==null){
打印(“无数据”);
}
}