Есть функция "changedListener" внутри которой вызывается еще 2 "changContent" и "count" !
Проблема в том что после того как я вызываю функцию "changContent" после ее выполнения должна выполниться функция "count" но когда я все это дебажил то увидел что функция "count" вызывается не после функции "changContent" а вовремя!
Функция "changContent" не успевает выполнится до конца и во время ее выполнения сразу вызывается следующая функция "count" и получается что контент еще не успел измениться как функция "count" уже что-то считает!
Подскажите как можно исправить это недоразумение !
function callToServer(request) {
var myData = {"operationCall": request};
var defer = $.Deferred();
$.ajax({
type: "GET",
url: "/ConventerServlet",
data: {jsonData: JSON.stringify(myData)},
dataType: "json",
//if received a response from the server
success: function (jsonData) {
},
error: function (jqXHR, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
},
complete: function () {
}
}).done(function (data) {
defer.resolve(data);
}).fail(function (xhr, status, errorThrown) {
alert("Sorry, there was a problem!");
console.log("Error: " + errorThrown);
console.log("Status: " + status);
console.dir(xhr);
});
return defer.promise();
}
function changedListener(object) {
if (object.type == "select-one") {
console.log("ChangeListener:" + object.value);
changContent(object.value, "default", "changeCourse");
count();
} else if (object.type == "button") {
console.log("ChangeListener:" + object.id);
changContent($("#selectExchange").val(), object.id, "changeOperation");
buttonOperation(object.id, "disabled");
} else if (object.type == "text") {
validation();
}
function validation() {
var booll = ""/*parserFloat()*/;
var input = document.getElementById("inputValue"),
inputButton = document.getElementById("inputButton");
if (!input.checkValidity()) {
inputButton.click();
booll = false;
} else {
booll = true;
}
if (booll) {
count();
} else {
/* setDefaultValues();*/
}
/*changeIcon(booll); dont work*/
return booll;
}
}