我是RxJS的新手,想要做以下事情(在Angular 2中):
目前我的方法看起来像这样:
load():void {
this.http.get(SVG_LIST)
.map(res => {
return <Array<string>> res.json().files;
})
.catch(this.handleError);
}
我将哪些链接到map
方法?
答案 0 :(得分:2)
您正在寻找等同于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);
}
其中files
是一个url数组,makeRequest
是一个接受url并返回observable或promise的函数。