一、运用递归的方式轮询请求接口
重复调用(递归)
_left.contentId=["id1","id2","id3","id4","id5","id6"]
var currentIndex = 0;
let _left=this
function getImg(){
if(currentIndex>=_left.contentId.length){
return;
}
//请求接口
_getCompanyBaseInfo(_left.contentId[currentIndex]).then(res =>{
if(res.data.data){
_left.searchData.push(res.data.data)
}
currentIndex++
getImg()
}).catch(error=>{
currentIndex++
getImg()
})
console.log(_left.searchData)
}
getImg()
二、循环请求,一直请求 ,知道有数据为止
//判断数据是否存在
let interval = setInterval(() => {
this.contentId.forEach(element => {
//请求的接口
_getCompanyBaseInfo(element).then(res => {
if (res.data.data) {
nxt = true;
clearInterval(interval);
}
});
});
}, 1000);
如果上一步有数据,则就开始用着个id进行请求
let interval2 = setInterval(() => {
if (nxt) {
clearInterval(interval2);
this.contentId.forEach(element => {
//请求的接口
_getCompanyBaseInfo(this.contentId).then(res => {
this.searchData.push(res.data.data)
});
});
}
},1);
个人笔记记录,不明白加微信as19960925询问