Funciones anti-vibración de uso común y llamadas de subprogramas WeChat de uniapp

Primero mire el código, simplemente cópielo y úselo. (Antivibración se usa generalmente para botones para evitar múltiples llamadas, como inicio de sesión, compra, etc., como hacer clic en el botón de compra varias veces puede generar información de pedido múltiple a velocidades de Internet lentas, etc.)

Aquí hay solo un proceso simple de llamada de encapsulación, si usa nuestro producto oficial uview, referencia antivibración : acelerador y antivibración del acelerador antivibración .

Necesita definir un archivo js primero copie el siguiente código

//防抖原理:一定时间内,只有最后一次操作,再过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

El método de llamada es el siguiente

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

Si tienes alguna pregunta sobre uniapp o no entiendes este método, puedes dejar un mensaje, te responderé lo antes posible y te ayudaré a resolverlo.

Supongo que te gusta

Origin blog.csdn.net/weixin_47821281/article/details/113931696
Recomendado
Clasificación