Я пишу механизм запросов, в котором пользователь вводит параметры, а затем щелкает запрос. Событие ng-click может занять до 7-10 секунд, но рендеринг страницы 1 занимает менее секунды. Если пользователь хочет повторно отправить новый запрос до истечения этого времени, существует некоторая задержка, поскольку я считаю, что исходный вызов функции все еще возвращается.
Есть ли способ внезапно остановить любую предыдущую функцию звонки и только самые последние звонки?
Ниже приведена функция запроса и вызов из HTML
$scope.query = function(name, matchMode, domain) {
name = name.trim();
$scope.pageNumber = 0;
start = 0
end = $scope.perPage;
$http.get(ROOT_API+"query/asset/"+name+"/"+matchMode+"/"+domain).success(
function(data){
$scope.results=data;
$scope.displayResults=$scope.results.slice(start,end);
$scope.totalResults=data.length;
$scope.totalPages=Math.floor($scope.totalResults / $scope.perPage);
setPageValues($scope.displayResults)
});
setTimeout(function() {
$scope.displayResults.concat(setPageValues($scope.results.slice(end,$scope.totalResults)))
},2000);
}
<input ng-model="queryName" placeholder="name">
<input ng-model="matchMode" placeholder="match mode" defaultValue="ANYWHERE">
<input ng-model="domain" placeholder="domain" defaultValue="ANY">
<button ng-click="query(queryName, matchMode, domain)">QUERY</button>