getData method

Future<HttpData> getData(
  1. LoadType loadType
)

Implementation

Future<HttpData> getData(LoadType loadType) async{

  HttpData httpData = await requestList<List<T>, T>((httpData, requestInfo) {

    if(currentPageNum == firstPage() && refreshClearData){
      list.clear();
    }

    setList(loadType, httpData);

    onCompleted(list);
  }, isSetError: currentPageNum == firstPage());


  _dataList.clear();

  if(httpData.data != null){
    _dataList.addAll(httpData.data);
  }else{
    _dataList.clear();
  }

  if(ObjectUtil.isEmpty(httpData.httpError)){
    setIdle();
  }



  bool success = true;

  if(ObjectUtil.isNotEmpty(httpData.httpError)){
    if(loadType == LoadType.LoadMore){
      _currentPageNum = --_currentPageNum;
    }

    if(httpData.httpError != null){
      if(httpData.httpError!.httpErrorType != HttpErrorType.EmptyDataError){
        success = false;
      }
    }

  }


  refreshController.finishRefresh(success: success);
  refreshController.finishLoad(success: success, noMore: !hasMore);
  return httpData;
}