flutter 您好,我遇到了一个错误“'FutureOr〈Response< dynamic>>',是一个潜在的不可为空的类型,”

chy5wohz  于 2022-12-19  发布在  Flutter
关注(0)|答案(2)|浏览(173)

我用我的API在Dio中调用了一个get响应,但是我一直收到这个错误“'FutureOr',是一个潜在的不可空类型。”尽管我在我的get API函数中返回了一个return语句。
我添加了一个return语句,我现在很想降级flutter来帮助,但在此之前,我想先解决这个问题。
'

//finction for sending get request in the api
//error apears here on the get
  Future<Response> get(String _path, {Map<String, dynamic>? query}) async {
       
    try {
      
      String _url = '$_base_url$_path';
      Map<String, dynamic> _query = {
        'api_key': _api_key,
        'language': 'english',
      };
      if (query != null) {
        _query.addAll(query);
      }
      
      return await dio.get(
        _url,
        queryParameters: _query,
      );
    } on DioError catch (e) {
      print('Unable to perform get request.');
      print('DioError: $e');
    }
  }

'

mwngjboj

mwngjboj1#

你可以这样想。虽然try块引起了一些问题,但它将无法返回响应对象。catch块没有返回任何东西。你可以在这里返回错误Reposone对象,或者只是将返回数据更改为可为空的响应。

Future<Response?> get(

使用此方法时,请执行空检查。

final result = await get(...);
if(result !=null){...}

对于FutureBuilder,请使用可为空的dateType。

xdnvmnnf

xdnvmnnf2#

所以在做了大量的研究之后。我要做的就是返回响应。

return Response();

相关问题