Throttle-сервис для AngularJS
Table of Contents
Часто нужно вызывать функцию не по возникновению события, а после некоторой задержки, и не чаще, чем раз в какое-то время. Для этого используются throttle и debounce.
Throttle
Debounce
Более подробно о том, что это такое и как реализовать его на jquery — http://benalman.com/projects/jquery-throttle-debounce-plugin/ (тут он всегда живой — https://web.archive.org/web/20170205101542/http://benalman.com/projects/jquery-throttle-debounce-plugin/).
Мне такой понадобился для AngularJS.
Представляю на суд общественности мой angular-сервис.
Сам сервис — https://gist.github.com/bullgare/61058663e0230461b51d, пример использования:
http://jsbin.com/OyUxUduY/3/edit?html,output.
JS Bin
Дополнения приветствуются. Это неокончательный вариант, сделан на быструю руку, но меня пока полностью устраивает.
Debounce + Throttle:
https://gist.github.com/bullgare/4ec0af4b56fb535ef724
Similar Posts
- None Found
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.
Еще я бы поработал над механизмом сохранения активных таймеров, там есть повторяющиеся куски, можно их упростить