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

Как остановить работу ЦИКЛа пока функция не вернет ответ?
Столкнулся с вопросом, требуется помощь в его решении:
Есть элемент кода
function my_funct(){
	var  len = 20;
	var items;
	for (var i=0; i<len; i++){
			func_request("example_url.php",{param1:value, param2:value2}, function(answer){
				items = answer.response[0].value;
			});
		alert(items);
	}
}

в функции my_funct() выполняется цикл, по идее, с каждой итерации должна выполняться функция func_request, которая бы возвращала определенные значения.
Проблема заключается в том, что функция не успевает вернуть значения answer, а цикл продолжает работать дальше и к момент возвращения функцией значения цикл уже закончил свою работу.
При этом постоянно выводится alert пустой.

Вопрос, как сделать так, чтобы цикл увеличивал итерацию только после того, как ответ получен и передан в переменную items?
Ответить с цитированием