Отменить ожидающий запрос Bloodhound в Твиттере typeahead.js

У меня есть твиттер typeahead.js, настроенный так:

var filteredSource = new Bloodhound({
    datumTokenizer: Bloodhound.tokenizers.obj.whitespace('value'),
    queryTokenizer: Bloodhound.tokenizers.whitespace,
    remote: {
        url: '@Url.Action("Get", "Search")/',
        prepare: function (query, settings) {
            settings.url = settings.url + $('#filter-select').val() + '?q=' + encodeURIComponent(query);
            return settings;
        },
        rateLimitBy: 'throttle',
        rateLimitWait: 800
    }
});

$('#search').typeahead({
    hint: false,
    highlight: true,
    minLength: 3
}, {
    name: 'filtered-source',
    display: 'value',
    limit: 50,
    source: filteredSource,
    templates: {
        empty: [
            '<div>',
            '&nbsp;&nbsp;Unable to find any results.',
            '</div>'
        ].join('\n'),
        suggestion: Handlebars.compile(templateData)
    }
});

Когда пользователь выполняет поиск, начинает набирать что-то вроде «ключа» и делает паузу, поисковый запрос отправляется на сервер с помощью Bloodhound. Когда пользователь добавляет буквы в поле ввода, на сервер отправляется другой запрос, например «ключевое слово».

Но «ожидающий» запрос «ключ» сначала ожидает завершения от браузера, а затем сервер обрабатывает второй запрос, и только после его завершения отображаются результаты.

Таким образом, может пройти много времени, прежде чем пользователь увидит какие-либо результаты.

Есть ли способ отменить ожидающий запрос с помощью Bloodhound при изменении ключевого слова?

Ответы на вопрос(1)

Ваш ответ на вопрос