AngularJS: таймеры и одностраничные приложения
Иногда бывает нужно делать какие-то действия по таймеру, иногда даже постоянно.
При переходе на экран в соответствующем контроллере стартует функционал, связанный с периодичными действиями (таймауты или интервалы, которые, конечно же, лучше никогда не использовать).
При уходе на другой экран надо не забыть очистить таймеры, чтобы не было утечек памяти и ненужных запросов к серверам или какой-то другой лишней работы.
Особенно печальная ситуация может возникнуть, если зайти повторно на экран с таймером — в этот момент стартуют параллельные запросы к серверу. Зашли в третий раз — в параллели выполняются 3 серии запросов. И так далее.
В AngularJS есть специальное событие при уходе со страницы, и поэтому кода для очистки таймеров нужно совсем немного:
1 2 3 |
$scope.$on("$destroy", function () { clearTimeout(autoupdateTimer); }); |
Similar Posts
- None Found
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.