Что значит строчка кода?

189
10 декабря 2021, 19:30

Есть код, который при вводе в input прерывает вызов функции callSearch, если после последнего ввода символа не прошло 2х секунд, помогите разобраться с данными строчками:

let logger = (args) => callSearch(args);

и debounce эта функция, и можно ли упростить данный пример?

      var lastCall = false; var lastCallTimer;		 
 
    	$('.target').keyup(function(){ 
		  	var Value = $('input').val();	 
		  	let logger = (args) => callSearch(args); 
		    let debouncedLogger = debounce(logger, 2000); 
		    debouncedLogger(Value); 
 
		}); 
 
    function debounce(f, t) { 
        return function(args) { 
            let previousCall = lastCall; 
            lastCall = Date.now(); 
            if (previousCall && ((lastCall - previousCall) <= t)) { 
                clearTimeout(lastCallTimer); 
            } 
            lastCallTimer = setTimeout(() => f(args), t); 
        } 
    } 
 
    function callSearch(args) 
    { 
    	console.log(args); 
    }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> 
 
<input type="" name="" class='target'>

READ ALSO
Как реализовать анимацию css через JS

Как реализовать анимацию css через JS

Необходимо, что бы при клике на ссылку вырисовывалась линия, попытался менять ширину линии с помощью JS, предварительно установив элементу...

170
Как получить значения семплов в audioWorklet?

Как получить значения семплов в audioWorklet?

У меня есть буфер входящих аудио фреймов в wasm модуль

175
Использование WebSokets [закрыт]

Использование WebSokets [закрыт]

Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме

147