通过定时器获取接口数据。setInterval。ajax

有时候会遇到这样的需要。接口分页给我们的数据。我们想全部获取展示。这时候需要使用定时器去调用接口。直到获取的数据的条数和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);

         }

}

猜你喜欢

转载自blog.csdn.net/qq_33769914/article/details/123272229