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;
}