有时候会遇到这样的需要。接口分页给我们的数据。我们想全部获取展示。这时候需要使用定时器去调用接口。直到获取的数据的条数和total合计值一样。
每次调用定时器之前都要把数据清掉。避免出现多个定时器清的时候不知道是哪个。
页码和数据等数据都要清空。
this.interval="";
this.list=[];//取出全部的数据
this.total=0;//一共多少数据this.current=1;//当前的页码
this.interval=setInterval(()=> {
this.getAllotaconfigs();
},500)
getAllotaconfigs(){
let para={
current:this.current++,//当前的页码
size:10,//每页多少数据
};
let {code,msg,data}=await getotaconfigs(para);//调用接口if(code==200){
this.list=[...this.list,...data.data];
this.total=data.total;if(this.total===this.list.length||this.totalConfig<this.list.length){//获取了全部的配置就结束定时器查询
clearInterval(this.interval);
}}else{//接口报错清除定时器
clearInterval(this.interval);
}
}