Прервать предыдущий запрос ajax по новому запросу

У меня есть функция, которая запускает вызов ajax при изменении ввода.

Но есть вероятность, что функция будет запущена снова до завершения предыдущего вызова ajax.

Мой вопрос: как мне прервать предыдущий вызов ajax перед началом нового? Без использования глобальной переменной. (См. Ответ на аналогичный вопросВот)

jsfiddle моего текущего кода:

Javascript:

var filterCandidates = function(form){
    //Previous request needs to be aborted.
    var request = $.ajax({
        type: 'POST',
        url: '/echo/json/',
        data: {
            json: JSON.stringify({
                count: 1
            })
        },
        success: function(data){
            if(typeof data !== 'undefined'){
                jQuery('.count').text(data.count)
                console.log(data.count);
            }
        }
    });
};

if(jQuery('#search').length > 0){
    var form = jQuery('#search');
    jQuery(form).find(':input').change(function() {
        filterCandidates(form);
    });
    filterCandidates(form);
}

HTML:

<form id="search" name="search">
    <input name="test" type="text" />
    <input name="testtwo" type="text" />
</form>
<span class="count"></span>

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

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