setTimeout除了可以延时执行某一个方法外,还可以用来循环执行某一段操作
即配合判断,对自身函数进行重复调用
*以下代码中作为判断条件的这个token最终一定要有值的,否则就会陷入无限循环从而导致页面崩掉
//此段代码目的是从sessionStorage获取值,如果值存在,就执行接口,如果值不存在,就每隔一秒重新获取一次,直到获取到值为止
getTotalData() {
let token = sessionStorage.getItem("token")
if(token != null){
axios.get(`/fxpc-jk/display/getTotal`)
.then((res)=>{
this.totalObj = res.data.result
this.allNum = res.data.total
}),
}else{
setTimeout(this.getTotalData,1000) //重点是对于自身函数getTotalData的重复调用
}
}