Итак, для функции я должен использовать функцию устранения дребезга javascript, которая выглядит так:
$.debounce = function (func, wait, immediate) {
var timeout;
return function() {
var context = this, args = arguments;
var later = function() {
timeout = null;
if (!immediate) func.apply(context, args);
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait);
if (callNow) {
func.apply(context, args);
}
};
};
Я новичок в функциях обратного вызова и только что понял, что эта функция возвращает функцию, которую я могу вызвать. Но я не могу назвать это напрямую. Однако я хочу иметь динамические аргументы, не создавая каждый раз новый объект переменной функции.
Так, например, я хочу вызвать свою функцию
function print_something(){
// prints something
}
Я бы сделал это так:
var print_debounce = $.debounce(print_something, 100);
And then I can use
print_debounce();
Но я хочу, чтобы print_debounce был более динамичным.
Например (не работает)
var function_debounce = $.debounce(func, wait);
function_debounce(print_something, 100);
Есть ли способ сделать это так?
Благодарю вас!
var print_debounce();
?? Вы можете вызватьfunction_debounce
с произвольным количеством параметров - person canbax   schedule 30.04.2021print_debounce(100)
. - person Bergi   schedule 30.04.2021var print_debounce = $.debounce(print_something, 100);
, я уже дал конкретные параметры, так как бы я назвал его с другим. - person Edison von Matt   schedule 30.04.2021wait
(после которого станет возможным следующий вызов) динамическим, а не значение, которое передаетсяprint_something
? - person Bergi   schedule 30.04.2021wait
из функцииdebounce
в возвращаемое замыкание, чтобы вам приходилось указывать его каждый раз:$.debounce = function (func, immediate) { var timeout; return function(wait, ...args) { …
- person Bergi   schedule 30.04.2021