This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/lib/throttle.js.es6
2019-05-16 10:34:19 +02:00

19 lines
514 B
JavaScript

/**
Throttle a Javascript function. This means if it's called many times in a time limit it
should only be executed one time at most during this time limit
Original function will be called with the context and arguments from the last call made.
**/
export default function(func, spacing, immediate) {
let self, args;
const later = function() {
func.apply(self, args);
};
return function() {
self = this;
args = arguments;
Ember.run.throttle(null, later, spacing, immediate);
};
}