Red de conocimiento informático - Consumibles informáticos - La diferencia y la implementación de anti-vibración y estrangulamiento

La diferencia y la implementación de anti-vibración y estrangulamiento

Función antirrebote: esta función solo se ejecutará una vez n segundos después de que se active un evento de alta frecuencia. Si se vuelve a activar un evento de alta frecuencia después de n segundos, se volverá a calcular el tiempo.

Función de aceleración: se activan eventos de alta frecuencia, pero solo se ejecutan una vez cada n segundos, por lo que la aceleración diluirá la frecuencia de ejecución de la función.

La función de aceleración y la función antirrebote sirven para limitar la frecuencia de ejecución de la función, de modo que la velocidad de respuesta optimizada no pueda seguir el ritmo de la frecuencia de activación, lo que provoca retrasos, animación suspendida o congelación.

1. Anti-vibración (antirrebote)

Implementación: establezca un método de llamada retrasada cada vez que se active un evento y cancele el método de llamada retrasada anterior.

Desventajas: si los eventos se activan continuamente dentro del intervalo de tiempo especificado, el método de llamada se retrasará continuamente.

2. Garganta

Implementación: cuando se activa el evento, si actualmente hay una función de retraso esperando a ser ejecutada, regresará directamente.

* *Antishake: Combina múltiples operaciones en una sola. El principio es mantener un temporizador y activar la función después de un tiempo de retardo específico. Sin embargo, si se activa nuevamente dentro del tiempo de retardo, el temporizador anterior se cancelará y restablecerá. De esta manera sólo se puede activar la última acción.

* *Aceleración: Esta función solo se activa una vez dentro de un período de tiempo determinado. El principio es determinar si hay una función de llamada retrasada no ejecutada.

Diferencia:

No importa la frecuencia con la que se active el evento, la limitación garantizará que la función de procesamiento de eventos real se ejecute dentro del tiempo especificado, mientras que el anti-vibración solo se ejecutará después el último evento Activa esta función una vez. Por ejemplo, en el escenario de carga infinita de la página, necesitamos que el usuario envíe una solicitud ajax a intervalos mientras se desplaza por la página, en lugar de solicitar datos cuando el usuario deja de desplazarse por la página. Un escenario de este tipo es adecuado para su implementación mediante tecnología de limitación.

————————————————