Lodash es una biblioteca de JavaScript que funciona en la parte superior de underscore.js. Lodash ayuda a trabajar con arrays, strings, objetos, números, etc.
El método _.throttle() en lodash se usa para crear una función limitada que solo puede llamar al parámetro func como máximo una vez por cada milisegundo de espera. La función limitada aquí tiene un método de cancelación que se usa para cancelar las llamadas de función que están retrasadas y también tiene un método de descarga que se usa para llamar inmediatamente a esa función retrasada. Además, proporciona algunas opciones que se utilizan para implicar si la función establecida debe llamarse en el borde inicial y/o final del tiempo de espera.
Sintaxis:
_.throttle(func, wait, options)
Parámetros: El método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- func: Es la función a estrangular.
- wait: Es la cantidad de milisegundos que se van a estrangular las llamadas.
- opciones: Es el objeto de opciones.
- options.leading: Define la llamada en el borde de ataque del tiempo de espera.
- options.trailing: Define la llamada en el borde posterior del tiempo de espera.
Valor devuelto: este método devuelve la nueva función limitada.
Nota:
- Aquí, se llama a func con los últimos argumentos que se dan a la función limitada. Sin embargo, las llamadas posteriores a la función limitada devuelven el resultado de la última llamada a la función.
- Aquí, si las opciones inicial y final son verdaderas, entonces se llama a func en el borde final del tiempo de espera si y solo si la función limitada se llama más de una vez durante el tiempo de espera.
- Aquí, si el tiempo de espera es 0 y la opción principal es falsa, la llamada a la función se retrasa hasta el siguiente tic.
Ejemplo 1:
Javascript
// Requiring lodash library const _ = require('lodash'); // Calling throttle() method with its parameter var throt_fun = _.throttle(function () { console.log('Function throttled after 1000ms!'); }, 1000); throt_fun();
Salida: aquí, después de que la función se acelere después de 1000 ms, ya que el tiempo de espera aquí es de 1000 ms.
Function throttled after 1000ms!
Ejemplo 2:
Javascript
// Requiring lodash library const _ = require('lodash'); // Calling throttle() method with its parameter var throt_fun = _.throttle(function() { console.log('Function throttled after 1000ms!'); }, 1000); // Defining loop var loop = function() { setTimeout(loop, 5) throt_fun(); }; // Calling loop to start loop();
Salida: Entonces, aquí el ciclo no se detiene hasta que lo detengas manualmente.
Function throttled after 1000ms! Function throttled after 1000ms! Function throttled after 1000ms! Function throttled after 1000ms! Function throttled after 1000ms! Function throttled after 1000ms! . . . . // So on until you stop it manually.
Ejemplo 3: aquí, la función se llama en el borde posterior del tiempo de espera.
Javascript
// Requiring lodash library const _ = require('lodash'); // Calling throttle() method with its parameter var throt_fun = _.throttle(function () { console.log('Function is called on the' + ' trailing edge of the timeout ' + 'and throttled after 2000ms!'); }, 2000, { 'trailing': true }); throt_fun();
Producción:
Function is called on the trailing edge of the timeout and throttled after 2000ms!
Referencia: https://lodash.com/docs/4.17.15#throttle
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA