【发布时间】:2021-08-22 15:20:39
【问题描述】:
当所有响应都具有不同类型时,如何在一个函数内执行多个 API Get 请求? (请参考代码) 非常感谢您!
【问题讨论】:
标签: api flutter dart get request
当所有响应都具有不同类型时,如何在一个函数内执行多个 API Get 请求? (请参考代码) 非常感谢您!
【问题讨论】:
标签: api flutter dart get request
您可以为返回值定义一个类或使用映射。
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。很抱歉:)