krequestFutureList<T> function
请求数据,返回集合
void loading() async {
var data = await requestFutureList<ShopDto>(
() => ApiRepository.get.nearbyMaxsShop(1, 0, 0),
(json) => ShopDto.fromJson(json),
);
}
Implementation
Future<List<T>?> krequestFutureList<T>(
Future<Response> Function() request, T Function(dynamic json) fromJsonT,
{Function(String?, String?, Exception)? onFail}) async {
try {
var response = await request();
if (response.statusCode == HttpStatus.ok) {
var json = response.data;
var result =
ResultListDto<T>.fromJson(json, (json) => fromJsonT.call(json));
if (result.isSuccess()) {
return result.data;
} else {
throw BizException(code: result.errorCode, message: result.message);
}
} else {
KHttpPlatform.get.throwHandler
?.handleStatusCode(response.statusCode, onFail: onFail);
}
} on Exception catch (ex) {
KHttpPlatform.get.throwHandler?.handleError(ex, onFail: onFail);
}
return null;
}