Показать сообщение отдельно
  #1 (permalink)  
Старый 04.10.2022, 18:40
Новичок на форуме
Отправить личное сообщение для maratus Посмотреть профиль Найти все сообщения от maratus
 
Регистрация: 10.11.2020
Сообщений: 9

Самозапускающаяся throttle-функция
Здравствуйте.

Есть следующий код:

let delayTime = 1000;
let fn = throttleFunc(myFunc, delayTime);
fn();
/*
где:

throttleFunc - функция задержки реакции, например, на resize окна. Важно понимать, что функция throttleFunc - представляет собой замыкание и возвращает обратно вложенную функцию;

myFunc - функция-обработчик на выполнение;

delayTime - время запрета на запуск функции myFunc, т.е. myFunc будет выполнена не ранее истечения времени delayTime с момента появления события resize. Дело в том, что браузер, например, моего самсунга, при смене ориентации экрана генерит два события resize с небольшой задержкой между ними.
*/


Этот код замечательно работает.

Но я бы хотел написать так:

(() => throttleFunc(myFunc, delayTime))();


или так

(function () {throttleFunc(myFunc, delayTime);})();


однако на выходе не получаю нужного результата.

Все, как бы вызывается, но не запускается функция, вложенная в throttleFunc, т.е. та, которая возвращается.

Что не так пишу?
Ответить с цитированием