я следующие поля ввода фрагмента кода здесь я звоню AngularJS $scope
метод следующим образом
<input class="search-txt-input"
id="partner_name"
name="partner_name"
title="Partner Name"
type="text"
autocomplete="off"
ng-model="selectedPartner"
typeahead="partner as partner.name for partner in retrievePartnerList($viewValue)"
typeahead-items="2"
typeahead-min-length="3">
Так что, когда я печатаю как минимум 3-х символов в текстовое поле, он вызовет вызов AJAX для функции retrievePartnerList
.
Также мой ответ сервера очень медленный, поэтому для 10 символов 7 вызовов Ajax приходит в очередь, и через некоторое время я получаю TimeOutError.
Чтобы решить эту проблему, я пытаюсь найти способ, с помощью которого я могу отложить вызов метода retrievePartnerList()
, так что будет отправлено меньше вызовов AJAX и, вероятно, это уменьшит нагрузку на мой сервер.
Так что я не знаю, как я могу использовать функцию setTimeout()
здесь.
Сообщите мне, если у кого-то из вас есть идеи по этому вопросу.
Спасибо за ответ, что он работает в вышеупомянутой скрипте js, но не работает в моем коде, не уверен, что может быть причиной, я просто добавил typeahead-wait-ms = "10000 ». Но все же он запускается после каждого типа ключей –
Я использую версию 0.3.0 API, которая может быть typeahead-wait-ms не добавлена в эту версию. Необходимо проверить –
@DeanM-поддержку для 'typeahead-wait- ms' был добавлен только в версии 0.5.0 (были некоторые предварительные значения в 0.4.0, но 0.4.0 не работает совершенно правильно). Вам нужно будет обновиться до 0,5.0, чтобы он работал как в моем плунтере. –