我想使用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)
答案 0 :(得分:2)
thing = _.throttle( function() {
$('#info').append('function runs' + '<br />')
}, 4000, {trailing:false});