requestResponse method

Future<Response> requestResponse({
  1. required String path,
  2. ReqType reqType = ReqType.get,
  3. Map<String, dynamic>? params,
  4. RespConfig? respConfig,
  5. Options? options,
  6. Map<String, dynamic>? body,
  7. CancelToken? cancelToken,
  8. CacheMode? cacheMode = CacheMode.ONLY_NETWORK,
  9. int? cacheTime,
  10. String? customCacheKey,
})

需要异步调用的网络请求

Implementation

Future<Response<dynamic>> requestResponse({
  required String path,
  ReqType reqType = ReqType.get,
  Map<String, dynamic>? params,
  RespConfig? respConfig,
  Options? options,
  Map<String, dynamic>? body,
  CancelToken? cancelToken,
  CacheMode? cacheMode = CacheMode.ONLY_NETWORK,
  int? cacheTime,
  String? customCacheKey,
}) async {
  Options option = _copyOptions(respConfig, options,
      cacheMode: cacheMode,
      cacheTime: cacheTime,
      customCacheKey: customCacheKey);

  Future<Response<dynamic>> future;
  switch (reqType) {
    case ReqType.post:
      {
        future = _dio.post(path,
            data: body,
            queryParameters: params,
            options: option,
            cancelToken: cancelToken);
        break;
      }
    case ReqType.put:
      {
        future = _dio.put(path,
            data: body,
            queryParameters: params,
            options: option,
            cancelToken: cancelToken);
        break;
      }
    case ReqType.delete:
      {
        future = _dio.delete(path,
            data: body,
            queryParameters: params,
            options: option,
            cancelToken: cancelToken);
        break;
      }
    default:
      {
        future = _dio.get(path,
            queryParameters: params,
            options: option,
            cancelToken: cancelToken);
      }
  }
  return future;
}