我将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'))
);
}