- _-chunk
- _-compact
- _-concat
- _-difference
- _-differenceBy
- _-differenceWith
- _-drop
- _-dropRight
- _-dropRightWhile
- _-dropWhile
- _-fill
- _-findIndex
- _-findLastIndex
- _-flatten
- _-flattenDeep
- _-flattenDepth
- _-fromPairs
- _-head
- _-indexOf
- _-initial
- _-intersection
- _-intersectionBy
- _-intersectionWith
- _-join
- _-last
- _-lastIndexOf
- _-nth
- _-pull
- _-pullAll
- _-pullAllBy
- _-pullAllWith
- _-pullAt
- _-remove
- _-reverse
- _-slice
- _-sortedIndex
- _-sortedIndexBy
- _-sortedIndexOf
- _-sortedLastIndex
- _-sortedLastIndexBy
- _-sortedLastIndexOf
- _-sortedUniq
- _-sortedUniqBy
- _-tail
- _-take
- _-takeRight
- _-takeRightWhile
- _-takeWhile
- _-union
- _-unionBy
- _-unionWith
- _-uniq
- _-uniqBy
- _-uniqWith
- _-unzip
- _-unzipWith
- _-without
- _-xor
- _-xorBy
- _-xorWith
- _-zip
- _-zipObject
- _-zipObjectDeep
- _-zipWith
- _-countBy
- _-every
- _-filter
- _-find
- _-findLast
- _-flatMap
- _-flatMapDeep
- _-flatMapDepth
- _-forEach
- _-forEachRight
- _-groupBy
- _-includes
- _-invokeMap
- _-keyBy
- _-map
- _-orderBy
- _-partition
- _-reduce
- _-reduceRight
- _-reject
- _-sample
- _-sampleSize
- _-shuffle
- _-size
- _-some
- _-sortBy
- _-now
- _-after
- _-ary
- _-before
- _-bind
- _-bindKey
- _-curry
- _-curryRight
- _-debounce
- _-defer
- _-delay
- _-flip
- _-memoize
- _-negate
- _-once
- _-overArgs
- _-partial
- _-partialRight
- _-rearg
- _-rest
- _-spread
- _-throttle
- _-unary
- _-wrap
- _-castArray
- _-clone
- _-cloneDeep
- _-cloneDeepWith
- _-cloneWith
- _-conformsTo
- _-eq
- _-gt
- _-gte
- _-isArguments
- _-isArray
- _-isArrayBuffer
- _-isArrayLike
- _-isArrayLikeObject
- _-isBoolean
- _-isBuffer
- _-isDate
- _-isElement
- _-isEmpty
- _-isEqual
- _-isEqualWith
- _-isError
- _-isFinite
- _-isFunction
- _-isInteger
- _-isLength
- _-isMap
- _-isMatch
- _-isMatchWith
- _-isNaN
- _-isNative
- _-isNil
- _-isNull
- _-isNumber
- _-isObject
- _-isObjectLike
- _-isPlainObject
- _-isRegExp
- _-isSafeInteger
- _-isSet
- _-isString
- _-isSymbol
- _-isTypedArray
- _-isUndefined
- _-isWeakMap
- _-isWeakSet
- _-lt
- _-lte
- _-toArray
- _-toFinite
- _-toInteger
- _-toLength
- _-toNumber
- _-toPlainObject
- _-toSafeInteger
- _-toString
- _-add
- _-ceil
- _-divide
- _-floor
- _-max
- _-maxBy
- _-mean
- _-meanBy
- _-min
- _-minBy
- _-multiply
- _-round
- _-subtract
- _-sum
- _-sumBy
- _-clamp
- _-inRange
- _-random
- _-assign
- _-assignIn
- _-assignInWith
- _-assignWith
- _-at
- _-create
- _-defaults
- _-defaultsDeep
- _-findKey
- _-findLastKey
- _-forIn
- _-forInRight
- _-forOwn
- _-forOwnRight
- _-functions
- _-functionsIn
- _-get
- _-has
- _-hasIn
- _-invert
- _-invertBy
- _-invoke
- _-keys
- _-keysIn
- _-mapKeys
- _-mapValues
- _-merge
- _-mergeWith
- _-omit
- _-omitBy
- _-pick
- _-pickBy
- _-result
- _-set
- _-setWith
- _-toPairs
- _-toPairsIn
- _-transform
- _-unset
- _-update
- _-updateWith
- _-values
- _-valuesIn
- _
- _-chain
- _-tap
- _-thru
- _-prototypeSymbol-iterator
- _-prototype-at
- _-prototype-chain
- _-prototype-commit
- _-prototype-next
- _-prototype-plant
- _-prototype-reverse
- _-prototype-value
- _-camelCase
- _-capitalize
- _-deburr
- _-endsWith
- _-escape
- _-escapeRegExp
- _-kebabCase
- _-lowerCase
- _-lowerFirst
- _-pad
- _-padEnd
- _-padStart
- _-parseInt
- _-repeat
- _-replace
- _-snakeCase
- _-split
- _-startCase
- _-startsWith
- _-template
- _-toLower
- _-toUpper
- _-trim
- _-trimEnd
- _-trimStart
- _-truncate
- _-unescape
- _-upperCase
- _-upperFirst
- _-words
- _-attempt
- _-bindAll
- _-cond
- _-conforms
- _-constant
- _-defaultTo
- _-flow
- _-flowRight
- _-identity
- _-iteratee
- _-matches
- _-matchesProperty
- _-method
- _-methodOf
- _-mixin
- _-noConflict
- _-noop
- _-nthArg
- _-over
- _-overEvery
- _-overSome
- _-property
- _-propertyOf
- _-range
- _-rangeRight
- _-runInContext
- _-stubArray
- _-stubFalse
- _-stubObject
- _-stubString
- _-stubTrue
- _-times
- _-toPath
- _-uniqueId
- _-VERSION
- _-templateSettings
- _-templateSettings-escape
- _-templateSettings-evaluate
- _-templateSettings-imports
- _-templateSettings-interpolate
- _-templateSettings-variable
- _-templateSettings-imports-_
- 索引
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
_-debounce
_.debounce(func, [wait=0], [options={}])
View in source See the npm package
创建一个 debounced(防抖动)函数,该函数会从上一次被调用后,延迟 wait
毫秒后调用 func
方法。 debounced(防抖动)函数提供一个 cancel
方法取消延迟的函数调用以及 flush
方法立即调用。 可以提供一个 options(选项) 对象决定如何调用 func
方法,options.leading
与|或 options.trailing
决定延迟前后如何触发(愚人码头注:是 先调用后等待 还是 先等待后调用)。 func
调用时会传入最后一次提供给 debounced(防抖动)函数 的参数。 后续调用的 debounced(防抖动)函数返回是最后一次 func
调用的结果。
注意: 如果 leading
和 trailing
选项为 true
, 则 func
允许 trailing 方式调用的条件为: 在 wait
期间多次调用防抖方法。
如果 wait
为 0
并且 leading
为 false
, func
调用将被推迟到下一个点,类似setTimeout
为0
的超时。
See David Corbacho's article for details over the differences between _.debounce
and _.throttle
.
添加版本
0.1.0
参数
func
(Function): 要防抖动的函数。[wait=0]
(number): 需要延迟的毫秒数。[options={}]
(Object): 选项对象。[options.leading=false]
(boolean): 指定在延迟开始前调用。[options.maxWait]
(number): 设置func
允许被延迟的最大值。[options.trailing=true]
(boolean): 指定在延迟结束后调用。
返回
(Function): 返回新的 debounced(防抖动)函数。
例子
// 避免窗口在变动时出现昂贵的计算开销。jQuery(window).on('resize', _.debounce(calculateLayout, 150)); // 当点击时 `sendMail` 随后就被调用。jQuery(element).on('click', _.debounce(sendMail, 300, { 'leading': true, 'trailing': false})); // 确保 `batchLog` 调用1次之后,1秒内会被触发。var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });var source = new EventSource('/stream');jQuery(source).on('message', debounced); // 取消一个 trailing 的防抖动调用jQuery(window).on('popstate', debounced.cancel);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论