【发布时间】:2020-10-11 20:26:47
【问题描述】:
我正在尝试将数据提取到 Appbar 的 api,但坚持等待/异步
我想做什么:
getUserName(id) async {
SharedPreferences prefs = await SharedPreferences.getInstance();
String token;
token = prefs.get('Token');
String url = "https://apiurl";
http.post(
url,
headers: {'authorization': 'bearer' + token},
body: {'thread': id.toString()},
).then((response) {
print("Response body: ${response.body}");
return response.body;
});
}
我在尝试构建时调用它:
appBar: AppBar(
title: Text(getUserInfo(widget.id)),
....
但是我最终得到: 未来动态的实例
据我所知,我应该以某种方式等待结果。但是如果我尝试,将不接受等待:
await getUserInfo(widget.id);
【问题讨论】:
-
我认为你应该在从 post 方法获取值后调用 setState()。
-
完全不知所措我应该在哪里做?如果有任何机会你可以分享更多的光给它..谢谢:)
-
字符串标识; value = await getUserInfo(widget.id).then(setState(id = value))
-
@darkness 我不能使用 await ..then 似乎对我也没有帮助,正如我在下面的回复中解释的那样。