gpt4 book ai didi

Angular 8发出多个http请求并合并所有结果

转载 作者:行者123 更新时间:2023-12-02 03:32:44 25 4
gpt4 key购买 nike

我正在尝试使用 forkJoin 执行多个 http get 请求,然后使用 Angular 8 将所有结果合并到一个简单的数组中。

问题是我最终得到的是一个数组数组...而不是一个字符串数组

我的代码如下。所有端点都返回字符串列表。

autoCompleteValues: any;

ngOnInit() {

let res1 = this.dataMessageService.getFoo1();
let res2 = this.dataMessageService.getFoo2();
let res3 = this.dataMessageService.getFoo3();
let res4 = this.dataMessageService.getFoo4();
let res5 = this.dataMessageService.getFoo5();

forkJoin([res1, res2, res3, res4, res5]).subscribe(data => {

this.autoCompleteValues = data;
console.log(this.autoCompleteValues);
});
}

我做错了什么?如何将所有结果合并到一个大数组中?

最佳答案

您的代码是正确的,因为这是 forkjoin 的预期行为你只需要稍微映射一下

forkJoin([res1, res2, res3, res4, res5])
.pipe(map(data => data.reduce((result,arr)=>[...result,...arr],[])))
.subscribe(data =>{

this.autoCompleteValues = data;
console.log(this.autoCompleteValues);
});

关于Angular 8发出多个http请求并合并所有结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58603183/

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