gpt4 book ai didi

Angular 4嵌套http调用和合并数据

转载 作者:行者123 更新时间:2023-12-02 17:52:11 25 4
gpt4 key购买 nike

我的 api 在一次 http 调用中返回 20 个结果,但我想要 40 条记录,我正在进行嵌套 http 调用,如下所示。我能够获取 40 条记录,但当我订阅 getALl() 方法时,我是仅获得 20 个结果;

getAll() {
return this._http.get(this.baseURL)
.do((data: any) => {
this.nextPage = data.next_page_token;
var results = data.results;
return this._http.get(`${this.baseURL}?next=${this.nextPage}`).delay(2000).do((d: any) => {
return Observable.of(results.concat(d.results));
});
});
}

最佳答案

do() 运算符仅产生副作用,它根本不会修改正在经历的值。

在您的情况下,您可以使用 concatMap() 合并两个 Observables,并使用 map() 修改内部 Observables 发出的值:

return this._http.get(this.baseURL)
.concatMap((data: any) => {
this.nextPage = data.next_page_token;
var results = data.results;

return this._http.get(`${this.baseURL}?next=${this.nextPage}`)
.delay(2000)
.map((d: any) => results.concat(d.results));
});

关于Angular 4嵌套http调用和合并数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48248775/

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