服务器

Array

Collection

Date

Function

Lang

Math

Number

Object

Seq

String

Util

Properties

Methods

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

创建一个去抖动函数,该函数会延迟调用func,直到自上次调用去抖函数后等待几毫秒后。 去抖动函数带有一个取消方法来取消延迟的func调用和一个flush方法来立即调用它们。 提供选项以指示是否应在等待超时的前沿和/或后沿调用func。 func被提供给去抖动函数的最后一个参数调用。 随后调用debounced函数返回最后一次func调用的结果。

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

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

初始

0.1.0

参数
  1. func (功能):去抖功能。
  2. [wait=0] (数字):延迟的毫秒数。
  3. [options={}] (对象):选项对象。
  4. [options.leading=false] (boolean):指定在超时的前沿调用。
  5. [options.maxWait] (数字):最大时间func可以在被调用之前被延迟。
  6. [options.trailing=true] (布尔值):指定在超时的后沿调用。
返回

(功能):返回新的去抖功能。

// Avoid costly calculations while the window size is in flux.

jQuery(window).on('resize', _.debounce(calculateLayout, 150));
 
// Invoke `sendMail` when clicked, debouncing subsequent calls.

jQuery(element).on('click', _.debounce(sendMail, 300, {
  'leading': true,

  'trailing': false
}));
 
// Ensure `batchLog` is invoked once after 1 second of debounced calls.

var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });

var source = new EventSource('/stream');

jQuery(source).on('message', debounced);
 
// Cancel the trailing debounced invocation.

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