您的当前位置:首页正文

vue中轮训器的使用

2020-11-27 来源:步旅网

核心代码:

<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>

效果图:

总结

显示全文