如果在js的循环中调接口,因为接口请求的数据响应时间不一样,所以接口返回值有快有慢,但是用什么方法可以保证返回的数据接顺序返回呢???
下面是代码
response.data.valueList.map是数组值,循环调接口拿值。
response.data.valueList.map(m=>{
let query={page:1,limit:500,attributeId:m.attributeId}
goodsModule.attrList(query).then(response=>{
if(response.code===0){
console.log(response.data)
response.data.list.map(n=>{
if(n.attributeValueId===m.attributeValueId){
m.attributeValueName=n.value
}
})
this.specsListCopy.push({specsDefault:m.attributeId,attributeList:response.data.list,attributeValue:m.attributeValueId,attributeValueName:m.attributeValueName})
}else{
response.data.list=[]
this.specsListCopy.push({specsDefault:m.attributeId,attributeList:response.data.list,attributeValue:m.attributeValueId})
}
})
})
不确定逻辑是否需要变动,还有就是如果有一个接口reject的话是不会走then的,不考虑接口的状态的话可以使用Promise.allSettled