gpt4 book ai didi

angular - Angular 中连续 HTTP 请求的动态数量

转载 作者:行者123 更新时间:2023-12-05 00:46:25 24 4
gpt4 key购买 nike

这是我的第一个问题,如果不够详细,请见谅。

我希望按顺序(可能很多)发出动态数量的请求以获取数据,

我需要从每个请求中收集这些数据,并在最后一个请求结束时作为最终的 observable 返回。

我尝试使用 forkJoin 来组合请求,尽管这不会使每个请求按顺序进行,然后也是 concat,它会在每个请求之后发出并可观察到。

最佳答案

你想:

  • 发出任意数量的连续 HTTP 请求(我假设基于某个数组)
  • 返回结果数组

我会在此处将 concattoArray 结合使用。 concat 将按顺序运行请求,toArray 将在所有响应都可用时发出一个数组。

// some dynamic array
const source = [ 1, 2, 3, 4, 5 ];

const observables = source.map(x => this.http.get('some url'));
concat(
...observables
).pipe(
toArray()
).subscribe(responses => {
console.log(responses);
// array of results
});

演示:https://stackblitz.com/edit/angular-s1fdxj

关于angular - Angular 中连续 HTTP 请求的动态数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60530814/

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