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)
}

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

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...