@yandex/ui
Version:
Yandex UI components
21 lines (20 loc) • 568 B
JavaScript
export var throttle = function (callback) {
var rid = null;
var saveArgs;
var makeCallback = function (context) { return function () {
rid = null;
callback.apply(context, saveArgs);
}; };
var throttled = function () {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
saveArgs = args;
if (rid === null) {
// @ts-ignore this
rid = requestAnimationFrame(makeCallback(this));
}
};
return throttled;
};