попробуйте событие ng-debounce-click в angular js
ng-debounce-click - это директива, используемая, чтобы убедиться, что дорогая / трудоемкая функция не срабатывает так часто, что может вызвать низкая производительность в сети. мы можем ограничить скорость вызова функции.
Скачать
Как пользоваться:
HTML
<div ng-app='myApp' ng-controller='myCtrl'>
<input type="button" ng-debounce-click="myOnClickExpensiveFunction()" ng-debounce-options="{time:1000}" value="Click Me">
</div>
JS
// include the `ngDebounceClick` module
var app = angular.module('myApp', ['ngDebounceClick']);
app.controller('myCtrl', function($scope) {
$scope.myOnClickExpensiveFunction = function() {
//TODO : Some Expensive implementation.
};
});