Я использую jsonp с jQuery, и он работает хорошо.Но порядок выполнения кода не тот, который я ожидаю.Я имею в виду, у меня есть функция:
function is_server_alive() {
var result;
console.log("beginning of function result" + result);
$.ajax({
url: server + "/is_alive",
async: false,
dataType: "jsonp",
jsonp: "callback",
success: function(JSON){
result = JSON.return;
console.log("is_server_alive result: " + result);
},
error: function(XMLHttpRequest, textStatus, errorThrown){
console.log("server is dead " + textStatus);
},
});
console.log("end of function result: " + result);
return result;
}
Я пытаюсь вернуть переменную результата.Но из-за запроса ajax после всего, что случилось, я не могу этого сделать.Возвращаемое значение кажется неопределенным.Вывод на консоль, например:
beginning of function result: undefined
end of function result: undefined
is_server_alive result: 0
Я пытаюсь выполнить асинхронный вызов как true / false, и ничего не изменилосьКак я могу вернуть переменную результата или изменить порядок выполнения, чтобы вывод стал:
beginning of function result: undefined
is_server_alive result: 0
end of function result: 0