这是一个异步操作, 改编Flutter初始新项目实例后的代码如下
1. 点击按钮后,界面刷新
var req_url =
'http://api.tianapi.com/txapi/zmsc/index?key=1234567';
Future getHttp() async {
try {
Response response = await Dio().get(req_url);
print(response);
return response.data['newslist'][0]['content']; //这里获取一个str语句返回
} catch (e) {
print(e);
}
}
var _counter = '0';
void _incrementCounter() {
//value即是getHttp()异步返回的值,点击按钮获取这个值之后,赋给_counter;然后刷新界面
getHttp().then((value) {
_counter = value;
setState(() {});
});
}

image.png
2.在启动时,初始化界面就获取网络数据并展示在界面
@override
void initState() {
// TODO: implement initState
getHttp().then((value) {
_counter = value;
setState(() {});
});
super.initState();
}
网友评论