request method

  1. @override
Future<APIResponder<T>> request({
  1. bool isCached = true,
})
override

Implementation

@override
Future<APIResponder<T>> request({bool isCached = true}) async {
  return super.request(isCached: isCached).then(
    (value) {
      if (value.isSuccess) {
        loader.controller.refreshCompleted();
        (value.dataList?.length ?? 0) < loader.pageSize
            ? loader.controller.loadNoData()
            : loader.controller.loadComplete();
      } else {
        loader.controller.loadFailed();
        if (!loader.isRefresh) {
          loader.pageNum--;
        }
      }
      return value;
    },
  ).onError((error, stackTrace) {
    loader.controller.refreshFailed();
    if (!loader.isRefresh) {
      loader.pageNum--;
    }
    return Future.error(error ?? APIError.error());
  });
}