request.dart 422 Bytes
import '../../utils/loading.dart';
import 'exception.dart';
import 'exception_handler.dart';

Future<T?> request<T>(
  Function() block, {
  String loadingText = '加载中...',
  bool Function(ApiException)? onError,
}) async {
  try {
    return await loading(block, loadingText: loadingText);
  } catch (e) {
    if (!handleException(ApiException.from(e), onError: onError)) {
      rethrow;
    }
  }
  return null;
}