vue用watch替代定时器,解决定时器内存泄露的问题

321 阅读1分钟

项目有个需求,要定时请求数据,用传统的setInterval的话不清除会导致内存泄露,突然想到一个方案,用好像watch去做也是可以的:

data: {
            reqTimes:0
        }
        
mounted: function () {
            this.reqTimes = 1;
        },
watch:{
            reqTimes(newVal,oldVal){
                console.log(newVal,oldVal)
                if(newVal!=oldVal){
                    setTimeout(() => {
                        this.reqTimes++; 
                        //你的操作
                    }, 500);

                }
            }
        },