先说说需求,有国家 城市 地点三个数据
三者是级联关系
删除国家必须删除国家关联的城市
在勾选了表格的多选框以后,点击删除按钮
首先获取所有国家的数据
然后循环发送axios请求,看返回的数据是否为空
不为空则放到一个数组里面(dataList)
最后判断dataList的长度
如果是空 继续删除逻辑
如果不是空则 alert && return
因为是异步请求 并且在循环里面
所以数据一直有问题
请问这里该如何写呢?
代码大致如下:
var dataList=[]
willDeletedData.forEach(item=>{
let cd =item.countryCode
let cnc=item.countryNameCn
this.$axios.post(...).then((res)=>{
if(res.data.length>0){
dataList.push(cnc)}
})
})
....
if(dataList.length>0){
//终止请求 并返回 错误信息}
.......
进行删除逻辑
使用同步async/await或者promise.all()
但是你这个问题不应该从前端解决,大量重复http没必要
你前端把需要删除的城市编码或需要删除的顶级城市编码传给后台,后台做业务处理循环删除或者批量删除