loadFutureData method

Future<void> loadFutureData({
  1. required VoidCallback onLoading,
  2. required VoidCallback onEmpty,
  3. required SuccessCallback onSuccess,
  4. required FailureCallback onFailed,
  5. required P params,
})

Implementation

Future<void> loadFutureData({
  required VoidCallback onLoading,
  required VoidCallback onEmpty,
  required SuccessCallback onSuccess,
  required FailureCallback onFailed,
  required P params,
}) async {
  try {
    debugPrint('$runtimeType | loadFutureData | ');
    onLoading();

    // load future data
    final Either<IFailure, R> eitherResponse = await this(params);

    // check eitherResponse report
    eitherResponse.handleReport(
      onSuccess: onSuccess,
      onFailed: onFailed,
      onEmpty: onEmpty,
    );
  } catch (e) {
    handleError(onFailed: (message) => onFailed(message));
  }
}