Машинописный текст шаблона дроссельной заслонкиJavascript

Форум по Javascript
Anonymous
Машинописный текст шаблона дроссельной заслонки

Сообщение Anonymous »

Код: Выделить всё

const throttle = (
callback: (...args: T) => void,
delay: number,
) => {
// this is not a global variable, just a local variable ??
let isWaiting = false;

return (...args: T) => {
if (isWaiting) {
return;
}

callback(...args);
// this just sets the local Variable to true ??
isWaiting = true;

setTimeout(() => {
isWaiting = false;
}, delay);
};
};
// Delay is 2000ms
window.addEventListener('resize', throttle(handleWindowResize, 2000));
Я не понимаю одного.
Когда функция дроссельной заслонки вызывается второй раз, скажем, через 100 мс, почему переменная isWaiting все еще верна, это должна быть просто локальная переменная и не влияет на второй вызов функции?? Вот чего я не понимаю.

Подробнее здесь: https://stackoverflow.com/questions/793 ... typescript

Вернуться в «Javascript»