string - 你能转换未来吗到一个字符串?颤振/飞镖
问题描述
你能把 a 转换成Future<String>
aString
吗?每次我启动我的应用程序时,它都应该从数据库中获取数据,将其存储在 .csv 文件中,读取 .csv 文件并更新一些字符串变量。我希望我的应用程序脱机运行。
我正在寻找这样的解决方案:
String string;
Future<String> = futureString;
if (futureString == null) {
string = '{standard value}';
} else {
string = futureString;
}
我希望你们能得到图片并帮助我!谢谢!
解决方案
您只需要await
获取价值:
string = await futureString;
由于 value 是Future<String>
,await
keyword 将等到任务完成并返回 value 而不会移动到下一条语句。
请注意,要使用await
您必须使您的方法async
具有讽刺意味yourMethod() async {}
或使用then
回调:
futureString.then((value) {
string = value;
});
两者都在做同样的事情,但是当您使用回调时,您不需要使您的方法异步,但异步将提高可读性(使用一个取决于场景)。
推荐阅读
- c - C:变量保留先前操作的值而不是重置
- python - Python:如何构造基类的init函数?
- python - 如何在 Django 3.1 上正确进行猴子修补
- python - 在 python 中使用 Telebot 发送图片
- esp32 - 如何从闪存中擦除 ESP32 wifi Smartconfig 凭据?
- ios - SwiftUI - 预览时未知的预览提供程序“ContentView_Previews_”。发生在一个全新的项目中
- javascript - Javascript - 过滤列表:如何找到数组与对象(包括数组和数组)之间的交集?
- flutter - 左右取消或确认滑块颤动
- python - 'Command' 对象没有属性 'CommandNotFound'
- html - @media(最大宽度:992px)。显示:块不起作用