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


Автор: Competitor 25.1.2007, 16:09
Какой механизм ожидания можно использовать в случае, если нужно дождаться наступления события. Т.е. критический участок кода на JavaScript может начать выполняться только после установки определнного флага в true. Каким образом можно осуществить это?
Код

if(flag)
{
//Critical snippet of the code
}
else
{
//Wait for a flag setting
}

Автор: GIK 25.1.2007, 16:18
Цитата

Какой механизм ожидания можно использовать в случае, если нужно дождаться наступления события. 

Можно переодически вызывать функцию используя
setTimeOut() или
setInterval()

Код

<html>
<head>
<script>
var tim, flag=0, tim2;

function ff(){
clearInterval(tim); //нужно остановить чтобы не запустить повторно

if(flag) {alert("eee"); return;}
tim = window.setInterval("ff()",10000); 
}

function ff2(){
tim2 = window.setInterval("ff3()", 3000); 
}

function ff3(){
clearInterval(tim2);
flag=1;
}

</script>
</head>
<body onLoad="ff(), ff2()">
</body>
</html>



Автор: Zeroglif 25.1.2007, 17:09
Цитата(Competitor @  25.1.2007,  16:09 Найти цитируемый пост)
Каким образом можно осуществить это?

Постановка флага же как-то осуществляется - по событию или нет. Вот там, где ставится флаг, там и надо вызывать "критическую" функцию.

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