Fonctions anti-tremblement couramment utilisées et appels des applets Uniapp WeChat

Regardez d'abord le code, copiez-le et utilisez-le. (Anti-shake est généralement utilisé pour les boutons pour éviter plusieurs appels tels que la connexion, l'achat, etc., comme le fait de cliquer plusieurs fois sur le bouton d'achat peut générer plusieurs informations de commande avec des vitesses Internet lentes, etc.)

Voici juste un processus simple d'appel d'encapsulation, si vous utilisez notre produit officiel uview, référence anti-shake: throttle & anti-shake anti-shake .

Vous devez d'abord définir un fichier js, copiez le code suivant

//防抖原理:一定时间内,只有最后一次操作,再过times毫秒后才执行函数
let timeout = null;
				// 执行函数  时间      是否立即执行
function debounce(func, times = 500, immediate = false) {
    
    
	// 清除定时器
	if (timeout !== null) clearTimeout(timeout);
	// 立即执行,传true 则不进行防抖 一般不传递第三个参数
	if (immediate) {
    
    
		var callNow = !timeout;
		timeout = setTimeout(function() {
    
    
			timeout = null;
		}, times);
		if (callNow) typeof func === 'function' && func();
	} else {
    
    
		// 设置定时器,当最后一次操作后,timeout不会再被清除,所以在延时times毫秒后执行func回调方法
		timeout = setTimeout(function() {
    
    
			typeof func === 'function' && func();
		}, times);
	}
}

export default debounce

La méthode d'appel est la suivante

import debounce from '配置路径'
methods:{
    
    
	//不需要自定义 时间和立即执行时
	getCode:debounce(function(){
    
    
		//您的逻辑操作
	})
	//需要自定义 时间和立即执行时
	getCode:debounce(function(){
    
    
		//您的逻辑操作
	},1000,true)
}

Si vous avez des questions sur uniapp ou si vous ne comprenez pas cette méthode, vous pouvez laisser un message, je vous répondrai dans les plus brefs délais et vous aiderai à le résoudre.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_47821281/article/details/113931696
conseillé
Classement