requestItems method

Future<List<T>> requestItems({
  1. required NsgDataProvider provider,
  2. required String function,
  3. NsgDataRequestParams? filter,
  4. bool autoAuthorize = true,
  5. String tag = '',
  6. String method = 'GET',
  7. dynamic postData,
  8. bool autoRepeate = false,
  9. int autoRepeateCount = 1000,
  10. FutureOr<bool> retryIf(
    1. Exception
    )?,
  11. FutureOr<void> onRetry(
    1. Exception
    )?,
  12. NsgCancelToken? cancelToken,
})

Implementation

Future<List<T>> requestItems({
  required NsgDataProvider provider,
  required String function,
  NsgDataRequestParams? filter,
  bool autoAuthorize = true,
  String tag = '',
  String method = 'GET',
  dynamic postData,
  bool autoRepeate = false,
  int autoRepeateCount = 1000,
  FutureOr<bool> Function(Exception)? retryIf,
  FutureOr<void> Function(Exception)? onRetry,
  NsgCancelToken? cancelToken,
}) async {
  _retryIf = retryIf;
  if (autoRepeate) {
    final r = RetryOptions(maxAttempts: autoRepeateCount);
    return await r.retry(
        () => _requestItems(
            provider: provider,
            filter: filter,
            autoAuthorize: autoAuthorize,
            tag: tag,
            function: function,
            method: method,
            postData: postData,
            externalCancelToken: cancelToken),
        retryIf: _retryIfInternal,
        onRetry: onRetry);
    // onRetry: (error) => _updateStatusError(error.toString()));
  } else {
    return await _requestItems(
        provider: provider,
        filter: filter,
        autoAuthorize: autoAuthorize,
        tag: tag,
        function: function,
        method: method,
        postData: postData,
        externalCancelToken: cancelToken);
  }
}