项目场景:
全省医疗单位会计核算数据标准接口 问题记录
JavaScript循环发送多个请求
问题描述
请求会计凭证时需要一个凭证主表,多个分录表和多个关联数据
公司需要做一个接口,一键上传单位会计核算数据
解决方案:
做了个循环
示例:
//获取head主表数目
var vou_id = 凭证主表.map(function (item) {
return item.vou_id;
});
// 发送请求
// 提取循环需修改xhr处:请求体,加密,请求头的授权码
// 循环发送请求
for (let i = 0; i < vou_id.length; i++) {
// 请求参数 分录表 获取
略....
}
因为一键发送多个请求, 每次创建XHR对象(都需要重置其状态)
还需要注意删除 分录表[j].vou_id附表中与 主表[i].vou_id中vou_id不一致的数据
示例:
let vouId = 主表[i].vou_id;
for (let j = 0; j < 分录表.length; j++) {
// 假设 主表[i].vou_id 存在于某个变量,比如 vouId
if (分录表[j].vou_id !== vouId) {
// 如果 vou_id 不一致,就从数组中删除该元素
分录表.splice(j, 1);
j--; // 由于删除了一个元素,需要将 j 减一,以免漏掉下一个元素
}
}
具体代码省略
上述代码均为伪代码