栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何将JSON资产加载到Flutter App中

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何将JSON资产加载到Flutter App中

@Alexandre Beaudet的回答是正确的,但没有给出很多有关正在发生的情况的背景信息。

在调用时

loadString
,它实际上是一个异步方法调用。您可以知道,因为它返回的是一个
Future<value>
而不是一个
value
。这意味着它不会立即得到String的结果,但是会在将来的某个时候出现。

在Dart中,有两种处理异步性的主要方法:第一个是使用

async
await
,第二个是直接使用期货。请参阅有关异步编程的飞镖指南。

如果

future.then
直接使用,则可以通过常规函数(即initState等)来实现。您只需指定回调,然后在回调中处理结果。

void printDailyNewsDigest() {  final future = gatherNewsReports();  future.then((news) => print(news));}

如果要使用

await
@Alexandre所示的方法,则需要将使用它的函数从标记为
async
,即:

Future<Void> printDailyNewsDigest() async {  String news = await gatherNewsReports();  print(news);}

如果覆盖一个函数(即initState),则还需要确保不更改返回值。多数情况下,这应该会被dart 2的输入捕获,但是void-> Future似乎不是。

最后要注意的一件事-
如果您正在使用数据结果来构建窗口小部件,则可能需要考虑使用FutureBuilder。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/418974.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号