一个界面4个网络请求,返回数据setState方法如何调用啊

来源:5-5 Flutter之Dart常用数据类型(Map)

慕姐2098566

2021-03-18

老师好,我现在一个界面有4个请求,对于返回数据渲染调用setState的次数如何控制啊?

写回答

1回答

CrazyCodeBoy

2021-03-19

可以将四个网络请求在一个方法中通过await调用,然后通过一个setstate更新界面。

0
1
慕姐2098566
老师,谢谢你的回答。我用Future.wait做的:我有1个问题是像下面的具体的网络请求用future then好还是用await async好呢?请给一个建议! Future fetchMainPageMultiRequest() async { List responseX = await Future.wait([_getFocusData(),_getHotProductData(),_getBestProductData()]); print('-fetchMainPageMultiRequest--$responseX----'); if(responseX.length>0){ print('fetchMainPageMultiRequest'); setState(() { }); return responseX; } } //网络请求1 Future _getFocusData() async { print('_getFocusData'); var api = '${Config.domain}api/focus'; var result = await Dio().get(api); var focusList = FocusModel.fromJson(result.data); print('_getFocusData setState'); this._focusData = focusList.result; } ////网络请求2 Future _getHotProductData() async { } //网络请求3 Future _getBestProductData() async { }
2021-07-15
共1条回复

Flutter从入门到进阶 实战携程网App 一网打尽核心技术

解锁Flutter开发新姿势,,系统掌握Flutter开发核心技术。

4788 学习 · 3270 问题

查看课程