Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как остановить работу ЦИКЛа пока функция не вернет ответ? (https://javascript.ru/forum/misc/53951-kak-ostanovit-rabotu-cikla-poka-funkciya-ne-vernet-otvet.html)

ksa 25.02.2015 14:59

Цитата:

Сообщение от Erolast
Асинхронность ж никуда не уходит

Так я ее как раз и использую. :yes:

nerv_ 25.02.2015 16:12

Никто не написал, что запросы в цикле - это ппц :)

Poveritov 25.02.2015 16:48

Цитата:

Сообщение от ksa (Сообщение 358356)
setTimeout() нужен только т.с. старта всего действа. Потом все передается в колбек функции. А они у тебя вроде как есть...
При получении ответа - стартуй следующую итерацию и так далее пока "цикл не закончится"... ;)

А можно небольшой пример?

Erolast 25.02.2015 16:52

Цитата:

Сообщение от nerv_ (Сообщение 358388)
Никто не написал, что запросы в цикле - это ппц :)

Ну, мало ли, какие там условия)

ksa 25.02.2015 19:42

Цитата:

Сообщение от Poveritov
А можно небольшой пример?

Что-то типа такого...

function my_funct(){
	var  len = 20;
	var i=0;
	var items=0;
	function iteration(answer){
		items += answer.response[0].value;
		if (++i<len) {
			func_request("example_url.php",{param1:value, param2:value2}, iteration);
		};
	};
	func_request("example_url.php",{param1:value, param2:value2}, iteration);
}

С setTimeout() я переборщил... :) Тут ведь асинхронные запросы, он не пригодится. :no:


Часовой пояс GMT +3, время: 11:07.