Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 你能转换未来吗<;字符串>;一根绳子?飞镖_String_Flutter_Dart_Future - Fatal编程技术网

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
ronous
yourMethod()异步{}

或者使用
然后
回调:

futureString.then((value) {
  string = value;
});

两者都在做同样的事情,但当您使用回调时,您不需要使方法异步,但异步将提高可读性(根据场景使用一个)。

首先您需要学习Dart语言

下面是一个示例,帮助您了解
Future
在Dart中是如何工作的

void main()异步{
Future-futureString=Future.value('Data from DB');
打印(futureString);//输出:“\u Future”的实例
打印(等待未来字符串);//输出:来自数据库的数据
if(等待未来字符串==null){
打印(“无数据”);
}
}