下滑刷新时多次请求数据

42 阅读1分钟
Future _loadData()async{
    if(flag=true){
      flag = false;
    Dio dio = Dio();
    Response response = await dio.get('xxxxxx');
    entity = NewsTypeEntity.fromJson(response.data);
    var _tempDataList = entity!.data;
    // _newslistData.addAll(_tempDataList!);
    //向数据列表里添加请求到的数据
    _newslistData.addAll(_tempDataList!);
    page++;
    _myStreamController.add(_newslistData);
    print('hahaha');
    print('time=$time,page=$page');
    time++;
    flag = true;
    }else{
      //ignore:avoid_print
      print('please waiting sometimes');
    }
}

在这里,我把flag==true写为了flag=true ChatGPT指出了错误,并且提出了改进,我好废材。:(

f1a3c7d0bea6bcf11cada2a466509cd.png 以下是修改后的代码: `

Future _loadData() async {
  if (!flag) {
    print('please waiting sometimes');
    return;
  }
  flag = false;
  try {
    Dio dio = Dio();
    Response response = await dio.get('xxxxxx');
    entity = NewsTypeEntity.fromJson(response.data);
    var _tempDataList = entity!.data;
    _newslistData.addAll(_tempDataList!);
    page++;
    _myStreamController.add(_newslistData);
    print('hahaha');
    print('time=$time,page=$page');
    time++;
  } catch (e) {
    print('load data error: $e');
  } finally {
    flag = true;
  }
}

`