不通过异步函数FLUTTER从API接收数据

问题描述 投票:0回答:1

我想从 API 接收数据,为此我创建了一个服务:

class ApiService {
  Future<List<dynamic>> getData() async {
    try {

      var response = await http.get(Uri.parse(Config.apiURL));
      debugPrint('Response code: ${response.statusCode}');
      if (response.statusCode == 200) {
        List<dynamic> data=jsonDecode(response.body) as List<dynamic>;
         debugPrint('in service:${data.toString()}');

        return data ;  
      }
      else{
      debugPrint('else');
      return [];
      }
    } catch (e) {
      throw Exception("Failed to fetch data..");
    }
  }
}

我从

StatefulWidget
给他打电话:

    void getData() async {
 
        debugPrint('entrance');
        userDataList= await ApiService().getData();
        debugPrint(userDataList.toString());  
  } 

    @override
  void initState() {
    debugPrint('init');
    super.initState();
    getData();
  }

由于某种原因,我没有收到数据。希望得到您的帮助。

flutter asynchronous async-await
1个回答
0
投票

检查 Flutter devtool 网络检查器以查看您的请求的响应是什么。另请检查您的设备是否可以正常访问互联网:没有 DNS 问题、代理、VPN 错误。

如果你的方法被调用并且从不响应,也许检查使用的http版本?老的?

为了帮助你,我需要更多:

  • 日志
  • 套装版
  • 颤动版本
  • 使用的设备
© www.soinside.com 2019 - 2024. All rights reserved.