Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > задержка выполнения скрипта


Автор: sono 6.12.2010, 04:39
Мне надо задержать выполнение скрипта в котором на текущей момент определены ряд переменных, которые в случае перехода на новый вызов через функцию setTime() просто потеряются. Надо именно реализовать паузу и продолжить выполнение именно прерванной процедуры. И как это сделать? 

Автор: bars80080 6.12.2010, 11:43
обычно это делается проверкой по истечении таймера и запуском нового, если условия не в кондиции

а почему, кстати, теряются переменные?
сами теряться они не могут. у вас проблемы либо с областью видимости, либо в некоторой последовательности действий

Автор: CruorVult 6.12.2010, 12:14
Цитата(sono @  6.12.2010,  04:39 Найти цитируемый пост)
Мне надо задержать выполнение скрипта

Что значит задержать? При запущеном setInterval() или перед загрузкой документа. Опишите более подробно задачу.

Автор: sono 6.12.2010, 17:11
в качестве примера
Код


var a,b;

function js2(){
var i=0;// счетчик
while(a!=b){//ждем пока не произойдет что-то(например прийдет ответ на запрос....)
 delay();//<---- здесь функция так сказать ожидания
i++;// считаем итерации
if (i==10) break;// ограничение чтобы не было 'бесконечного' цикла 
}
if(a!=b) return false // здесь обрабатываем дождались ли мы a=b
else return true;
};

function js1(){
......
a=js2();
.......
}



думаю так понятно что требуется



Автор: bars80080 6.12.2010, 18:48
совсем не понятно. какова задача стоит? от задачи и будет решение

а то что там с циклом - так за это руки надо отрубать, у пользователя на циклах система будет виснуть, и фиг он когда-нибудь к вам вернётся.
задержка никогда не делается циклами. исключительно таймерами и колбэками

Автор: CruorVult 7.12.2010, 13:55
Цитата(sono @  6.12.2010,  17:11 Найти цитируемый пост)
думаю так понятно что требуется

ужос smile 

Вы хотите сделать задержку задержки?
Я так понял речь идет о аякс-запросе и ответе от сервера. Тогда нужно, как было выше сказано, использовать колбек ф-ю которая выполнится, когда прийдет ответ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)