gpt4 book ai didi

flutter - 同时调用多个http端点,合并结果并返回到dart中的单个futurebuilder

转载 作者:行者123 更新时间:2023-12-03 04:10:17 26 4
gpt4 key购买 nike

我需要从单个 futurebuilder 调用两个 api 端点,并将这些结果合并到一个返回列表变量中。我可以调用单个 http 端点并返回结果,我不确定如何从单个请求同时执行两个单独的 http 调用。

最佳答案

每个 HTTP 请求都会返回一个 future。在 async方法,将两个 future 添加到列表中。然后等待两者都完成 await Future.wait(theList) .

然后处理返回代码、主体等,根据您的需要组合结果,并返回处理后的组合值。在您 future builder 中,您将收到此结果。

Dartlang wait more than one future

例如:

Future<List<Map<String, dynamic>>> getDoubleData() async {
var value = <Map<String, dynamic>>[];
var r1 = http.get('https://www.dart.dev');
var r2 = http.get('https://www.flutter.dev');
var results = await Future.wait([r1, r2]); // list of Responses
for (var response in results) {
print(response.statusCode);
// todo - parse the response - perhaps JSON
value.add(json.decode(response.body));
}
return value;
}

关于flutter - 同时调用多个http端点,合并结果并返回到dart中的单个futurebuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58419659/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com