Lodash是一个JavaScript库,可在underscore.js之上运行。 Lodash帮助处理数组,字符串,对象,数字等。
lodash中的_.throttle()方法用于创建一个受限制的函数,该函数每个等待毫秒最多只能调用一次func参数。这里的节流函数具有一个cancel方法,该方法用于取消已延迟的函数调用,还具有flush方法,该方法用于立即调用该延迟的函数。此外,它提供了一些选项,这些选项用于暗示是否应在等待超时的前沿和/或后沿调用声明的函数。
用法:
_.throttle(func, wait, options)
参数:该方法接受上述和以下所述的三个参数:
- func:这是要限制的函数。
- wait:它是要限制调用的毫秒数。
- options:它是选项对象。
- options.lead:它定义了超时前沿上的调用。
- options.trailing:它在超时的后沿定义调用。
返回值:此方法返回新的限制函数。
注意:
- 在这里,func会被调用给最后被限制的函数。但是,对节流函数的后续调用将返回上一个func调用的结果。
- 在此,如果前导和尾随选项为true,则当且仅当在整个等待超时中多次调用受限制的函数时,才会在超时的后沿调用func。
- 在此,如果等待时间为0,且前导选项为false,则func调用将延迟到下一个刻度。
范例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();
输出:在这里,在1000ms之后调节函数后,这里的等待时间是1000ms。
Function throttled after 1000ms!
范例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();
输出:因此,直到您手动停止循环,循环才会停止。
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.
范例3:在此,该函数在超时的后沿被调用。
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();
输出:
Function is called on the trailing edge of the timeout and throttled after 2000ms!
相关用法
- Lodash _.method()用法及代码示例
- Lodash _.sneq()用法及代码示例
- Lodash _.toQuery()用法及代码示例
- Lodash _.uniqWith()用法及代码示例
- Lodash _.xorWith()用法及代码示例
- Lodash _.head()用法及代码示例
- Lodash _.remove()用法及代码示例
- Lodash _.pullAt()用法及代码示例
- Lodash _.pullAll()用法及代码示例
- Lodash _.pull()用法及代码示例
- Lodash _.nth()用法及代码示例
- Lodash _.takeRight()用法及代码示例
- Lodash _.take()用法及代码示例
- Lodash _.sortedLastIndex()用法及代码示例
- Lodash _.fromPairs()用法及代码示例
- Lodash _.differenceWith()用法及代码示例
- Lodash _.castArray()用法及代码示例
- Lodash _.cloneDeep()用法及代码示例
- Lodash _.clone()用法及代码示例
- Lodash _.sampleSize()用法及代码示例
- Lodash _.find()用法及代码示例
- Lodash _.zipWith()用法及代码示例
- Lodash _.zipObject()用法及代码示例
- Lodash _.xor()用法及代码示例
注:本文由纯净天空筛选整理自nidhi1352singh大神的英文原创作品 Lodash _.throttle() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。