uniapp&&微信小程序 ---倒计时【setTimeout】封装

uniapp&&微信小程序 —倒计时【setTimeout】封装

可以单独封装一个js里后调用 也可以直接当前文件编写(我这个是直接写到当前页面了)
调用方式:this.addTimeout(() => {},1000)

data() {
    
    
		return {
    
    
			timeouts: [],
		},
},
onHide() {
    
    
	this.clearAllTimeouts();
},
methods: {
    
    	
	// 添加setTimeout
	addTimeout(fn, time) {
    
    
		let id = setTimeout(() => {
    
    
			fn();
			this.removeTimeout(id);
		}, time);
		this.timeouts.push(id);
	},
	// 清除setTimeout
	removeTimeout(id) {
    
    
		let index = this.timeouts.indexOf(id);
		if (index >= 0) {
    
    
			clearTimeout(id);
			this.timeouts.splice(index, 1);
		}
	},
	// 清除所有setTimeout
	clearAllTimeouts() {
    
    
		for (let id of this.timeouts) {
    
    
			clearTimeout(id);
		}
		this.timeouts = [];
	},
	

}

猜你喜欢

转载自blog.csdn.net/heavenz19/article/details/129408394