【发布时间】:2018-03-23 03:28:22
【问题描述】:
在我的应用程序中,我必须在嵌套循环中发送 HTTP 请求,如下所示:
for(let i=1;i<Names.length;i++) {
for(let k=1;k<Data.lenght;k++) {
let url = hostPath + "/"+Names[i] + "/" + Data[i];
this.http.get(url);
}
}
我已经按照下面描述的方式完成了上述要求:
for(let i=1;i<Names.length;i++) {
Observable.from(Data).ConcatMap((data) => {
let url = hostPath + "/" + Names[i] + "/" + data;
this.http.get(url);
}).subscribe(() => {})
}
我想保持关于Names 数组(外循环)的正确顺序,但可以为Data 数组(内循环)发送并行请求。我对 Angular 很陌生,有没有其他方法可以做到这一点?
【问题讨论】:
-
最好收集您需要执行请求的所有数据,然后用它发出一个请求
-
@DanilGholtsman 有什么建议吗?
-
您的意思是按顺序运行来自
Names的所有迭代请求,并同时运行来自Data的给定名称的所有迭代请求吗? -
@GhassenLouhaichi 是的,正确的。
-
@HardRocker 好吧,您需要服务器端控制器,它可以处理您的名称数组和绑定数据(或对象数组看起来像
requestDataList = [ { name:"HardRocker", data: "somedata"}, {name:"Ghassen", data:"somedata"}, ... , {}])
标签: angular rxjs angular2-template