
核心代码:
<template>
<div >
{{log}}
</div>
</template>
<script>
export default {
name: "TrainingInRotation",
data(){
return {
log:0,
timerId:1, // 模拟计时器id,唯一性
timerObj :{}, // 计时器存储器
}
},
created(){
this.startTraining();
},
methods: {
/*
* 开始轮训
* */
startTraining() {
let this_ = this;
const id = this.timerId++
this.timerObj[id] = true
async function timerFn() {
if (!this_.timerObj[id]) return
await this_.getData();
setTimeout(timerFn, 1 * 1000)
}
timerFn();
},
/*
* 停止轮训
* */
stopTime() {
this.timerObj = {}
},
/*
* 要轮训的代码
* */
getData(){
this.log+=1;
console.log("this.log:"+this.log);
}
},
destroyed(){
this.stopTime();
}
}
</script>
<style scoped>
</style>效果图:

总结
