Javascript 用于合并请求的URL的RxJS数组
我是RxJS的新手,想做以下工作(在第2部分):Javascript 用于合并请求的URL的RxJS数组,javascript,angular,rxjs,reactive-programming,Javascript,Angular,Rxjs,Reactive Programming,我是RxJS的新手,想做以下工作(在第2部分): 从包含URL数组的服务器请求一些JSON 向每个URL发出请求 订阅所有这些请求的合并完成 目前,我的方法如下所示: load():void { this.http.get(SVG_LIST) .map(res => { return <Array<string>> res.json().files; })
load():void {
this.http.get(SVG_LIST)
.map(res => {
return <Array<string>> res.json().files;
})
.catch(this.handleError);
}
load():void{
this.http.get(SVG_列表)
.map(res=>{
返回res.json()文件;
})
.接住(这个.把手错误);
}
在
map
方法上我应该链接什么?您正在寻找与Promise.all
等价的操作符forkJoin
。您可以尝试以下方法:
load():void {
this.http.get(SVG_LIST)
.map(res => {
return <Array<string>> res.json().files;
})
.flatMap(files => Rx.Observable.forkJoin(files.map(makeRequest)))
.catch(this.handleError);
}
load():void{
this.http.get(SVG_列表)
.map(res=>{
返回res.json()文件;
})
.flatMap(files=>Rx.Observable.forkJoin(files.map(makeRequest)))
.接住(这个.把手错误);
}
当文件
是一个url数组时,makeRequest
是一个函数,它接受一个url并返回一个可观察或承诺