У меня есть функция DupeCheck. Он выполняет вызов Ajax jQuery, который возвращает одно из двух значений: «true», что означает, что это дубликат, и «false», что является противоположным. Здесь я сталкиваюсь с проблемой синхронности. Поскольку ajax является асинхронным, я не могу просто дождаться возвращаемого значения от сервера, а затем вернуть true или false в зависимости от того, что говорит сервер. Я не хочу превращать его в синхронный Ajax (и я считаю, что он в любом случае устарел).
В псевдокоде я бы хотел, чтобы он работал примерно так:
Код: Выделить всё
function save(){
if(validate()){
//Call routine that sends data to server
}else{
//Show error messages and go back to edit
}
}
function validate(){
bIsValid = dupeCheck();
//Additional checks here
return bIsValid;
}
function dupeCheck(){
$.ajax{
url:blah\blah,
success:function(data, status, jqXHR){
//set a value based on data
}
}
return value_based_on_data;
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... n-approach
Мобильная версия