微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

原文地址:https://www.jb51.cc/js/152824.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐