gpt4 book ai didi

javascript - RxJS:每次返回并行 http 请求时更新客户端

转载 作者:行者123 更新时间:2023-12-03 07:16:51 25 4
gpt4 key购买 nike

目标:使用 RxJS 并行运行多个异步 http 请求,并在每个请求返回后触发回调。

例如:

getSomeData() {
Observable.forkJoin(
this.http.get('/somethingOne.json').map((res:Response) => res.json()),
this.http.get('/somethingTwo.json').map((res:Response) => res.json())
).subscribe(
data => {
this.somethingOne = data[0]
this.somethingTwo = data[1]
},
err => console.error(err)
);
}

上面的代码将并行运行 http.get 请求并将响应映射到 json,但在每个 http 响应上我希望调用我创建的函数。有什么方法可以将回调函数传递给传递给 forkJoin 方法的 http 请求吗?

最佳答案

这行得通吗?只需在当前选择器函数的主体中执行您的函数即可。 (这里可能有一些语法错误,因为我不使用 ES6)。根据您想要如何使用该函数,包括两个版本,但想法很明确:使用您的 map 选择器函数来运行您想要的任何逻辑。

getSomeData() {
Observable.forkJoin(
this.http.get('/somethingOne.json').map((res:Response) => {myFunction(res); return res.json()}),
this.http.get('/somethingTwo.json').map((res:Response) => myOtherFunction(res.json()))
).subscribe(
data => {
this.somethingOne = data[0]
this.somethingTwo = data[1]
},
err => console.error(err)
);
}

关于javascript - RxJS:每次返回并行 http 请求时更新客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36390313/

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