есть некий простой код который должен дергать сервер и брать данные с php скрипта. Но Алерт вызывается черезчур рано -- до того как ответ с сервера прийдет. Как пофиксить?
<script>
$(document).ready(
function(){
var discount = 'noDiscount';
GetTextFromPage('http://discount.com.net/get_discount.php', discount);
alert(discount);
}
);
function GetTextFromPage(page, callback) {
$.ajax({
type: "GET",
url: page,
async:true,
dataType : 'jsonp', //you may use jsonp for cross origin request
crossDomain:true,
success: function(data, status, xhr) {
callback(data);
}
});
};
</script>
пытаюсь понять как сделать GetTextFromPage синхронной в то время как внутры был асинхронный вызов.
Фактически, сделать то же что делает await в C#. Вроде:
function(){
var discount = 'noDiscount';
AWAIT GetTextFromPage('http://discount.com.net/get_discount.php', discount);
alert(discount);
}
callback(data);- т.е. понимаешь что в callback надо/можно отдавать результат, то почему его ожидаешь вalert?) – Алексей Шиманский Jun 24 '17 at 08:56function GetTextFromPage(str, callback) { /* какие-то действия*/ callback("datasdfsdf");
}
function myHandler(data) { console.log(data);
– Алексей Шиманский Jun 24 '17 at 09:07}` ......... но почитай примеры в вопросе-дубликате