Решил я эту задачу. Решается через deferred object
Может кому будет интересно
$(document).ready(function(e){
$(document).on('click','.button',function(e){
testHandler (e.target);
ajaxError ();
});
});
var testHandler = function (target) {
var target = $(target);
var consoleElement = $('#console');
if (target.is('.disable')) {
return false;
}
target.addClass('disable');
var state1 = ajaxF(consoleElement);
var state2 = ajaxF(consoleElement);
$.when(
state1,
state2
).then(
function () {
target.removeClass('disable');
console.log("success");
},
function(){
console.log("fuck");
}
);
}
var ajaxF = function (consoleElement) {
var xhr = $.ajax({
url: "ajax.php",
dataType: "json",
success: function (data) {
consoleElement.append(data.name + "<br>" + data.value + "<br><hr><br>");
}
});
var deferred = $.when(
xhr
);
return deferred;
}