Как поставить задержку на мгновенный поиск AngularJS?

У меня проблема с производительностью, которую я не могу решить. У меня есть мгновенный поиск, но он несколько запаздывает, так как он начинает поиск по каждому keyup().

JS:

var App = angular.module('App', []);

App.controller('DisplayController', function($scope, $http) {
$http.get('data.json').then(function(result){
    $scope.entries = result.data;
});
});

HTML:

<input id="searchText" type="search" placeholder="live search..." ng-model="searchText" />
<div class="entry" ng-repeat="entry in entries | filter:searchText">
<span>{{entry.content}}</span>
</div>

Данные JSON даже не такие большие, всего 300 КБ, я думаю, что мне нужно сделать, чтобы поставить задержку ~ 1 сек в поиске, чтобы дождаться, пока пользователь закончит ввод, вместо выполнения действия при каждом нажатии клавиши. AngularJS делает это внутренне, и после прочтения документации и других тем здесь я не смог найти конкретный ответ.

Я был бы признателен за любые указания о том, как я могу отложить мгновенный поиск.

147
задан Dale Burrell 29 July 2019 в 03:08
поделиться