Joh*_*ton 8 angular angular-httpclient
从本质上来说,我的问题是-我有6个不同的端点返回不同的数字-我希望能够异步发送6个请求,但是使用chrome工具,我看到它们不按顺序运行。
ngOnInit() {
private readonly TEMP_URL: string = 'https://www.random.org/integers/?num=1&min=1&max=100000&col=1&base=10&format=plain&rnd=new';
const result1 = this.http.get<Number>(this.TEMP_URL);
const result2 = this.http.get<Number>(this.TEMP_URL);
const result3 = this.http.get<Number>(this.TEMP_URL);
const result4 = this.http.get<Number>(this.TEMP_URL);
const result5 = this.http.get<Number>(this.TEMP_URL);
const result6 = this.http.get<Number>(this.TEMP_URL);
const result7 = this.http.get<Number>(this.TEMP_URL);
forkJoin(result1,result2,result3,result4,result5,result6,result7).subscribe(results => {
this.retVal0= results[0];
this.retVal1 = results[1];
this.retVal2 = results[2];
this.retVal3= results[3];
this.retVal4= results[4];
this.retVal5= results[5];
this.retVal6= results[6];
this.retVal7= results[7];
});
};
Run Code Online (Sandbox Code Playgroud)
你的代码没问题,问题直接来自Chrome。通过检查请求,您可以看到它们已停止/排队。如果您在另一个浏览器(Firefox)中进行相同的检查,您将看到请求是以异步方式发出的,没有排队。
对单个域发出的请求过多。在 HTTP/1.0 或 HTTP/1.1 连接上,Chrome 允许每个主机最多同时存在 6 个 TCP 连接。
请记住,位于代理后面会降低最大同时请求数 - 这意味着即使有两个请求,您也可能会收到停滞的请求。
不好的是,您无法通过编辑 Angular 代码来解决此问题。可能的修复仅包括网络设置修改:
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |