Дроссель Lodash - предотвращение вызова функции в дополнительное время после задержки - PullRequest
0 голосов
/ 20 декабря 2018

Я хотел использовать дроссель 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>

( скрипка )

1 Ответ

0 голосов
/ 20 декабря 2018
thing =  _.throttle( function() {

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

}, 4000, {trailing:false});

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

...