服务器

Array

Collection

Date

Function

Lang

Math

Number

Object

Seq

String

Util

Properties

Methods

_.throttle(func, wait=0, options={})

创建一个throttled函数,每等待毫秒最多只调用一次func。 被扼杀的函数带有一个取消方法来取消延迟的func调用和一个flush方法来立即调用它们。 提供选项以指示是否应在等待超时的前沿和/或后沿调用func。 func被提供给限制函数的最后一个参数调用。 随后调用throttled函数会返回最后一次func调用的结果。

注意:如果前导和尾随选项为true,则只有在等待超时期间调用被阻止的函数多次时,才会在超时的后沿调用func。

如果wait为0且leading为false,则func调用被推迟到下一个tick,类似于超时值为0的setTimeout。

初始

0.1.0

参数
  1. func (功能):节流的功能。
  2. [wait=0] (数字):将调用限制为的毫秒数。
  3. [options={}] (对象):选项对象。
  4. [options.leading=true] (boolean):指定在超时的前沿调用。
  5. [options.trailing=true] (布尔值):指定在超时的后沿调用。
返回

(功能):返回新的限制功能。

// Avoid excessively updating the position while scrolling.

jQuery(window).on('scroll', _.throttle(updatePosition, 100));
 
// Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.

var throttled = _.throttle(renewToken, 300000, { 'trailing': false });

jQuery(element).on('click', throttled);
 
// Cancel the trailing throttled invocation.

jQuery(window).on('popstate', throttled.cancel);