Lodash节流阀-防止在延迟后再调用函数

时间:2018-12-20 14:50:34

标签: javascript lodash

我想使用lodash节流阀使一个函数每4秒左右调用一次。

如果用户尝试连续多次激活该功能,则只有第一次单击才能启动该功能。但是,该功能在延迟后称为额外的时间。立即调用一次,并在延迟后再次调用。

如何防止额外通话?

thing = _.throttle(function() {
  console.log('function runs');
}, 4000);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>

<button onclick="thing()">click a few times</button>

fiddle

1 个答案:

答案 0 :(得分:2)

thing =  _.throttle( function() {

   $('#info').append('function runs' + '<br />') 

}, 4000, {trailing:false});

https://lodash.com/docs/#throttle