【发布时间】:2022-10-14 11:00:24
【问题描述】:
var alreadyDdl = false;
getLogoUrl(context) async {
if(!alreadyDdl) {
final db = Localstore.instance;
final data = db.collection('inputs').doc("1").get();
var database = (await data)["content"].toString();
var form = new DGForm("project/getwebsitelogo", {"database": database});
var ret = await form.urlGET(context);
ResponseObject responseObject =
ResponseObject.fromJson(json.decode(ret.body));
print("hola");
var hola = (responseObject.datas[0][0].toString());
bandeauDuClient = hola;
print(hola);
return hola;
}
}
getLogoUrl(context).then((val) {
setState(() =>
logoUrl = val
);
alreadyDdl = true;
});
永远不会在小部件构建中向我显示服务器下载的图像
(logoUrl != null) ? Image.network(logoUrl): Image.asset('assets/none.png')
因此,当我删除代码中的所有 alreadyDdl 变量时,......它每毫秒都会向我发送一个 http 请求......我想在图像真正下载后停止 http 请求......
【问题讨论】:
-
发布更多代码,因为我们无法确定该代码在哪里?如果它在 build 方法中,那么它可能会在每次新框架准备好时调用。您应该在 initState 中调用此函数
-
是的,我可以确认,它是
Widget build(BuildContext context) {方法,你还需要吗?
标签: flutter asynchronous async-await