RxJS:在每次返回并行http请求时更新客户端
RxJS: Updating client on each return of parallel http requests
目标:使用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)
);
}
相关文章:
- Meteor如何接收HTTP请求
- 在我的情况下,如何进行http请求
- 使用插件收听Firefox标签的http请求
- Angularjs http.get() Cross-Origin 请求被阻止
- http请求使用html而不是json进行响应
- 在node-js路由中发出http请求
- 通过sdk/system/events在修改请求观测器上测试http
- 是否可以在没有HTTP请求或<输入>
- Acync JS HTTP请求通知请求
- PhantomJs在控制台中发出http请求时不会返回任何状态
- 当我在chrome中切换设备模式时,$http.get请求失败
- PHP处理来自一个页面的http请求,并将其显示在另一个页面上
- 使用angular js通过代理服务器请求Http
- 如何从HTTPS服务器请求HTTP服务器的javascript文件
- 阻止的跨来源请求:http://api.fixer.io/latest.
- 坏的请求.HTTP POST到api
- 有没有办法为AngularJS JSON请求($http/$resource)使用浏览器缓存?
- angular js在每个http请求$http上添加请求参数
- 当从不存在的站点请求HTTP响应时,Node.js脚本会中断
- 通过代理服务器请求HTTP呼叫