【问题标题】:Multiple API Get Requests in one function一个函数中的多个 API 获取请求
【发布时间】:2021-08-22 15:20:39
【问题描述】:

当所有响应都具有不同类型时,如何在一个函数内执行多个 API Get 请求? (请参考代码) 非常感谢您!

【问题讨论】:

    标签: api flutter dart get request


    【解决方案1】:

    您可以为返回值定义一个类或使用映射。

    Future<Map<String, dynamic>> getAPI(/*input parameters*/)async{
      var result1 = await http.get(Uri.parse('url1'));
      var result2 = await http.get(Uri.parse('url2'));
      var result3 = await http.get(Uri.parse('url3'));
      return {
        'result1': json.decode(result1.body),
        'result2': json.decode(result2.body),
        'result3': json.decode(result3.body),
      };
    }
    
    \\ use it
    var result = await getAPI();
    Map<String, dynamic> result1 = result['result1'];
    

    【讨论】:

    • get 方法不接受 String 类型,例如应该是 Uri.parse()。不建议顺序运行多个get,应使用Future.wait
    • v["result1"] 中的 v 是什么意思?我认为这只是一个错字?
    • 抱歉,我只是想复制过去的result 变量,但我的键盘命令键已损坏,所以只输入了v。很抱歉:)
    猜你喜欢
    • 1970-01-01
    • 2018-02-16
    • 2011-06-04
    • 1970-01-01
    • 1970-01-01
    • 2019-11-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    相关资源
    最近更新 更多