Cancelar solicitação de bloodhound pendente no Twitter typeahead.js

Tenho o twitter typeahead.js configurado assim:

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)
    }
});

Quando o usuário faz uma pesquisa e começa a digitar algo como "chave" e faz uma pausa, uma solicitação de pesquisa está sendo enviada ao servidor por bloodhound. Quando o usuário adiciona letras ao campo de entrada, outra pesquisa é enviada ao servidor, por exemplo "palavra-chave".

Mas a "chave" da solicitação pendente está sendo aguardada pela primeira vez para ser concluída pelo navegador e, em seguida, o servidor processa a segunda solicitação e somente após a conclusão, os resultados são mostrados.

Portanto, pode levar um longo tempo até que qualquer resultado seja visto pelo usuário.

Existe uma maneira de cancelar a solicitação pendente através do bloodhound quando a palavra-chave é alterada?

questionAnswers(1)

yourAnswerToTheQuestion