1、场景
界面中有task列表,通过一个接口一次异步获取数据并展现
task中有子信息,每个task的子信息再掉一次接口异步获取数据
循环每个task的id,10个task循环10次,发起10次请求?
我也不知道后台是咋想的?
2、使用future.wait
Future _getTaskList() async {
if (UserModel.singleton.jwtToken != null &&
UserModel.singleton.jwtToken.isNotEmpty) {
var res = await getTaskVm(UserModel.singleton.jwtToken, context);
listViewData = res.tasks.reversed.toList();
var resNode = await _getTaskNode(listViewData);
taskNodeList = resNode;
}
}
Future _getTaskNode(List arr) async {
List nodeList = [];
if (arr.length > 0) {
var https = arr.map((element) async {
return getTaskNodeVm(UserModel.singleton.jwtToken, element.id, context);
});
var res = await Future.wait(https);
res.forEach((element) {
nodeList.add(element.nodes);
});
}
return nodeList;
}
参考:https://blog.csdn.net/guanfeii/article/details/116272452
|