Показать сообщение отдельно
  #1 (permalink)  
Старый 22.10.2010, 13:05
Интересующийся
Отправить личное сообщение для astral_sight Посмотреть профиль Найти все сообщения от astral_sight
 
Регистрация: 16.07.2010
Сообщений: 17

проблема с рекурсией
Доброе время суток, дамы и господа)

Столкнулся с очередной проблемой. Есть задача: создать функцию, возвращающую результат аяксового запроса к БД. Код примерно следующий:

function getUserInfo(id,func){

$.ajax({type: 'POST', url: "ajax.php", dataType: 'json', data: 'id='+id+'&task=getUserInfo',success: function(res)
	{
		func.result=res;
		func();
		}
	});
};

function testFunc(id){

if(typeof(testFunc.result)=='undefined') {getUserInfo(id,arguments.callee);}
else return testFunc.result;
}
testFunc(1);


Проблема в том, что рекурсия на func запускается раньше, чем ей присваивается аргумент result. Т.е. testFunc() выведет result только при вторичном вызове.
Ответить с цитированием