Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Самозапускающаяся throttle-функция (https://javascript.ru/forum/misc/84510-samozapuskayushhayasya-throttle-funkciya.html)

maratus 04.10.2022 18:40

Самозапускающаяся 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, т.е. та, которая возвращается.

Что не так пишу? :write:

Aetae 04.10.2022 18:46

throttleFunc(myFunc, delayTime)();
Попробуй сам понять, что именно ты делаешь и почему так, а не иначе, а не занимайся копипастом.

maratus 04.10.2022 20:22

Цитата:

Сообщение от Aetae (Сообщение 548268)
Попробуй сам понять, что именно ты делаешь и почему так, а не иначе, а не занимайся копипастом.

Мда, что-то я заумничался. :blink:
Все проще.

Спасибос! :)


Часовой пояс GMT +3, время: 03:37.