javascript – underscore.js:_.throttle(function,wait)

前端之家收集整理的这篇文章主要介绍了javascript – underscore.js:_.throttle(function,wait)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 underscore documentation

throttle_.throttle(function,wait)
Creates and returns a new,
throttled version of the passed function,that,when invoked
repeatedly,will only actually call the original function at most once
per every wait milliseconds. Useful for rate-limiting events that
occur faster than you can keep up with.

这是什么意思有用的速率限制事件发生速度比你可以跟上.
这个函数等同于setTimeout和一个调用自身的函数
有人可以在jsfiddle上为我提供一些例子吗?

解决方法

它不只是setTimeout()
尝试这个
var a = _.throttle(function(){console.log('called')},1000);
while(true) {
  a();
}

它将每秒调用一次,而不是每次迭代一次.
在本机JS中,它看起来像:

var i = null;
function throttle(func,delay){
  if (i) {
      window.clearTimeout(i);
  }
  i = window.setTimeout(func,delay)
}

不完全相同,只是为了说明这个函数调用一次

猜你在找的JavaScript相关文章