譬如有一个万条以上的数组arr,需要传递给后端,现在想让他1000条,1000条的传,目前的思路是,设置一个变量a初始值为1000,axios交互时先判断a是否==1000,若成立,从arr中取出a长度的数据,上传,得到上传成功的指令,再次调用此方法,并将a+=1000。这个思路正确吗?还有方法可以自己调用自己吗?这是我目前的两个疑惑
譬如有一个万条以上的数组arr,需要传递给后端,现在想让他1000条,1000条的传,目前的思路是,设置一个变量a初始值为1000,axios交互时先判断a是否==1000,若成立,从arr中取出a长度的数据,上传,得到上传成功的指令,再次调用此方法,并将a+=1000。这个思路正确吗?还有方法可以自己调用自己吗?这是我目前的两个疑惑
直接把数组提前切片,按顺序上传即可,代码简洁,无心智负担
伪代码
async postArray() {
const arr = new Array(10000).fill(1);
const arrList = Array.from(
{length: Math.ceil(arr.length / 1000)},
(v, i) => arr.slice(i * 1000, (i + 1) * 1000),
);
for (const ary of arrList) {
await this.$axios.post('/xxx', {ary});
}
},
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
7 回答1.9k 阅读
9 回答1.7k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答850 阅读