项目需求:
数据列表批量选择提交购物车,一次性提交数据量过大接口会报错,传递的参数是选中数据id的数组。项目运行很久了不做大改动,将提交数据总数限制在2000条以内,每500条走一次接口。
思路:
1.写一个将大数组拆分多个小数组的方法,arr为大数组,len为要拆分的小数组长度
arrGroup (arr, len) {
let index = 0,
newArr = [];
while (index < arr.length) {
newArray.push( arr.slice ( index , index += len ));
}
return newArray;
},
2.定义每次传多少条数据,调用方法获取新的数组,新数组的length就是要循环调用接口的次数
let count = 500; // 每个小数组的length
let newIdsArr = this.arrGroup(this.ids, count)
newIdsArr.forEach(item => {
this.$ajax.post(url, { id: item.join(",")})
.then((res) => {
console.log(res);
})
.catch((err) => {
console.log(err);
});
})
标签:index,arr,JavaScript,接口,length,let,len,数组
From: https://blog.51cto.com/u_15402980/8154027