safeRequest<T> function

Future<T> safeRequest<T>(
  1. String url, {
  2. Object? data,
  3. Options? options,
  4. Map<String, dynamic>? queryParameters,
  5. CancelToken? cancelToken,
})

底层请求方法说明

options dio请求的配置参数,默认get请求

data 请求参数

cancelToken 请求取消对象

CancelToken token = CancelToken(); // 通过CancelToken来取消发起的请求

safeRequest(
 "/test",
 data: {"id": 12, "name": "xx"},
 options: Options(method: "POST"),
cancelToken: token,
);

// 取消请求
token.cancel("cancelled");

Implementation

Future<T> safeRequest<T>(
  String url, {
  Object? data,
  Options? options,
  Map<String, dynamic>? queryParameters,
  CancelToken? cancelToken,
}) async {
  try {
    return Request.dioClient
        .request(
          url,
          data: data,
          queryParameters: queryParameters,
          options: options,
          cancelToken: cancelToken,
        )
        .then((data) => jsonDecode(data.data as String) as T);
  } catch (e) {
    rethrow;
  }
}