提出多个同步Ajax请求的最佳方法是什么

时间:2019-12-10 11:40:39

标签: ajax angular rest browser request

我将xlsx转换为json并将行发送到后端trajax请求。

excel有5k行,我使用concatMap执行了请求。还有另一种方法吗?我看过浏览器每个主机名最多有6〜12个连接。

当我测试此解决方案时,它在6分钟内执行了所有请求,每次仅执行10个请求。

浏览器实际上每个主机有6个最大连接吗?

有人已经提出了相同的解决方案吗?

-

上面有我的解决方案示例

let ids = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
let arrIds = this.chunkArray(ids, 3);

for(let i = 0; i < arrIds.length; i++) {
  this.getSomethingFromAnAPI(arrIds[i]).subscribe(response => {
      console.log(response.name)
      this.data.push({
        body: response.name, 
        title: response.name, 
        id: response.id
      });
    }, error => {
      console.error(error);
    });
 }

//Send line to api
public getSomethingFromAnAPI(ids: number[]): any {
      return from(ids).pipe(
        concatMap(id => <Observable<any>> this.http.post('SEND_LINE_API'))
      ); 
  }

0 个答案:

没有答案