﻿<?xml version='1.0' encoding='UTF-8'?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Релиб / Веб-программирование / JavaScript  / Рекурсия с таймаутом / Latest Posts</title><generator>InstantForum.NET v4.1.4</generator><description>Релиб</description><link>http://www.relib.com/forums/</link><webMaster>robot@relib.com</webMaster><lastBuildDate>Tue, 07 Oct 2008 17:25:17 GMT</lastBuildDate><ttl>20</ttl><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>как в JsHttpRequest? тоже неплохой вариант) наверно так и сделаю.</description><pubDate>Mon, 06 Nov 2006 19:32:53 GMT</pubDate><dc:creator>nighthunter</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>Можно поступить по другому, пусть загружаемый скрипт сам извещает что он загрузился путем вызова заранее известной функции.</description><pubDate>Mon, 06 Nov 2006 19:19:35 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>да я все о том-же) &lt;br&gt;если после динамического подключения скрипта (описано в предыдущих топиках) сразу использовать перменные, которые в нем, то ничего не работает (тип переменных - undefined), потому как надо дать загрузатся скрипту.&lt;br&gt;&lt;br&gt;первый выход - поставить таймаут и после него использовать переменные - это не лучший способ потому как за данный таймаут скрипт может не успеть загрузиться.&lt;br&gt;&lt;br&gt;второй способ - создать рекурсию, которая и будет контролировать загрузку скрипта посредством анализа typeof</description><pubDate>Mon, 06 Nov 2006 18:32:57 GMT</pubDate><dc:creator>nighthunter</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>nighthunter из твоего примера непонятно, что ты пытаешься получить в итоге. Рекурсии в твоем примере нет.</description><pubDate>Mon, 06 Nov 2006 18:08:51 GMT</pubDate><dc:creator>bazile</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>надо поменять местами return true и return false</description><pubDate>Mon, 06 Nov 2006 17:56:45 GMT</pubDate><dc:creator>nighthunter</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>это все понятно, но не совсем то. ведь целью рекурсии является получение конечного результата, а в твоем примере получаем промежуточный результат на каждом шаге итерации.</description><pubDate>Mon, 06 Nov 2006 17:48:55 GMT</pubDate><dc:creator>nighthunter</dc:creator></item><item><title>RE: Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>[quote][b]nighthunter (06.11.2006)[/b][hr]пытаюсь сделать рекурсию с таймаутом&lt;BR&gt;&lt;BR&gt;function rec(){&lt;BR&gt;&lt;BR&gt;if (a == 'undefined'){&lt;BR&gt;setTimeout(rec(),1000)&lt;BR&gt;}&lt;BR&gt;else{&lt;BR&gt;return false;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;использование&lt;BR&gt;&lt;BR&gt;if (rec()){&lt;BR&gt;alert("TEST")&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;но скрипт вылетает сразу после загрузки с "too much recursion"[/quote]&lt;/P&gt;&lt;P&gt;Ну для начала ты неправельно вообще написал скрипт =)&lt;/P&gt;&lt;P&gt;var a=1;&lt;BR&gt;function rec(){&lt;BR&gt;if (a==1){&lt;BR&gt;setTimeout("rec()",1000);&lt;BR&gt;return true;&lt;BR&gt;}&lt;BR&gt;else{&lt;BR&gt;return false;&lt;BR&gt;}&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;if (rec()){&lt;BR&gt;alert("TEST")&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;Во вторых о какой рекурсии речь? =) Хочешь рекурсию, тогда напиши:&lt;/P&gt;&lt;P&gt;var a=1;&lt;BR&gt;function rec(){&lt;BR&gt;if (a==1){&lt;BR&gt;setTimeout("rec()",1000);&lt;BR&gt;alert("Рекурсия =)")&lt;BR&gt;return true;&lt;BR&gt;}&lt;BR&gt;else{&lt;BR&gt;return false;&lt;BR&gt;}&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;if (rec()){&lt;BR&gt;alert("TEST")&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;А почему в твоем примере ты не видишь рекурсию, ибо функция проверки rec() выполняеться один раз и при её выполнени ты эту функцию просто ставишь на бесконечный цикл. При условии твоя проверка выполняеться один раз =)&lt;/P&gt;&lt;P&gt;если уже хотул сделать провеку, то:&lt;/P&gt;&lt;P&gt;var a=1;&lt;BR&gt;function rec(){&lt;BR&gt;if (a==1){&lt;BR&gt;setTimeout("rec()",1000);&lt;BR&gt;return true;&lt;BR&gt;}&lt;BR&gt;else{&lt;BR&gt;return false;&lt;BR&gt;}&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;if (rec()){&lt;BR&gt;alert("TEST")&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;var a=1;&lt;BR&gt;function rec(){&lt;BR&gt;if (a==1){&lt;BR&gt;setTimeout("A()",1000);&lt;BR&gt;return true;&lt;BR&gt;}&lt;BR&gt;else{&lt;BR&gt;return false;&lt;BR&gt;}&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;function A() {&lt;/P&gt;&lt;P&gt;if (rec()){&lt;BR&gt;alert("TEST")&lt;BR&gt;}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;A();</description><pubDate>Mon, 06 Nov 2006 17:00:38 GMT</pubDate><dc:creator>Vizlim</dc:creator></item><item><title>Рекурсия с таймаутом</title><link>http://www.relib.com/forums/Topic906970-10-1.aspx</link><description>пытаюсь сделать рекурсию с таймаутом&lt;br&gt;&lt;br&gt;function rec(){&lt;br&gt;&lt;br&gt;  if (a == 'undefined'){&lt;br&gt;    setTimeout(rec(),1000)&lt;br&gt;  }&lt;br&gt;  else{&lt;br&gt;    return 1;&lt;br&gt;  }&lt;br&gt;&lt;br&gt;}&lt;br&gt;&lt;br&gt;использование&lt;br&gt;&lt;br&gt;if (rec()){&lt;br&gt;  alert("TEST")&lt;br&gt;}&lt;br&gt;&lt;br&gt;но скрипт вылетает сразу после загрузки с "too much recursion"</description><pubDate>Mon, 06 Nov 2006 12:32:01 GMT</pubDate><dc:creator>nighthunter</dc:creator></item></channel></rss>