Передача ответа из get запроса в объект
Добрый день. Есть задача каждые 2 секунды отправлять запрос к определённому файлу и в зависимости от ответа продолжать отправлять запрос или выполнить другое действие. Ответ может быть "Y" или "N". Проблема в том, что не могу обратиться к ответу запроса из функции в setinterval, код ниже:
function State(requestId) {
this.requestId = requestId;
this.status = "N";
this.getState = function() {
$.get($("#b_page_toursearch input[name=TEMPLATE_FOLDER]").val() + "/ajax.php",
{
ACTION : "GET_STATE",
requestId : this.requestId
},
function(data){
return data;
}
);
};
}
$(document).ready(function(){
var state_request = new State(requestId);
var intervalID = setInterval(function(){
if(state_request.status == "N"){
state_request.getState();
}else{
clearInterval(intervalID);
}
},2000);
})
|
Цитата:
Используй setTimeout вместо setInterval, дожидайся ответа, а там уже действуй как знаешь. |
Цитата:
|
Спасибо за наводку с таймаутом, действительно, погорячился я с интервалом, реализовал просто вызовом самой функции из себя с таймаутом в зависимости от ответа.
|
Цитата:
|
Цитата:
|
Как будто это имеет значение.
Я к тому что будучи немного знакомым с электронным приборостроением помню еще технологии опросов и прерываний. Когда в софтвере возникает задача следить за чем-то по тикам, никуда от хардверной технологии не деться. Потому что подводная лодка. |
Цитата:
|
По условиям задачи нужны, что, конечно, для веб-приложений несуразно. Наверно автор не знал как обычно делается.
|
| Часовой пояс GMT +3, время: 09:33. |