@weredy

Как делать $.getJSON пока не придут подходящие данные?

У метода getJSON есть колбэк функция в которой обрабатывается ответ, а как быть если мне надо проверить его и если он мне не подходит запросить еще раз?
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Вынесите код, вызывающий getJSON в отдельную функцию и вызывайте её из callback'а.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
erniesto77
@erniesto77
oop, rb, py, php, js
как вариант что то вроде этого)
var Ctrl = function (condition) {
	var self = this;

	this.condition = condition;
	this.result = null;

	this.init = function () {
		this.check();
	};

	this.check = function () {
		$.getJSON('/path/to/file', {param1: 'value1'}, function(data, textStatus) {
		  if (data.result !== self.condition)
		  	self.check();
		  else
		  	self.result = data.result;
		});
	};

	this.getResult = function () {
		return this.result;
	};

	this.init();
}

var condition = 'условие для ответа';
var controller = new Ctrl(condition);
var result = null;

var myInterval = setInterval(function() {
	
	result = controller.getResult();

	if (result) {
		console.log('ожидаемый ответ: ', result);
		clearInterval(myInterval);
	}

}, 4000);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы