PDA

Просмотр полной версии : onInterval и область видимости


Chas
06.05.2007, 04:29
что хочу сделать:
класс передает и загружает xml через пхп-коннектор. пошли глюки, когда ответ на первый запрос еще не вернулся а пришел ответ на второй запрос и событие произходит преждевременно (запросы посылаются хаотически в ответ на события).
решил поставить запросы в очередь, так чтобы если ответ на предыдущий запрос не вернулся, следующий из очереди не выполнялся.
код такой(много поскипано):

class game.Transmitter {
var connectorPath:String; //путь к коннектору
var orders:Array; //массив приказов к передаче
var isTransmit:Boolean; //флаг определяющий, идет посылка в настоящий момент или нет
передача или нет
var loader:game.Parser;
function Transmitter (path){ //конструктор получает путь к коннектору
...
setInterval (this.onInterval,100);
isTransmit=false;
orders=new Array();
...
}
...
function onInterval (){ //событие, произходящее по таймеру
_root.debug ("on interval. isTransmit:"+isTransmit);
if (!isTransmit && orders.length>0) {
isTransmit=true;
var xml=orders.pop();
xml.sendAndLoad(connectorPath,loader);
}
}
}

а в трейсе вижу, что isTransmit - undefined, т.е.,по всей видимости, обалсть видимости вызова функции setInterval вышла из-под о.в. класса.
а как делают в таких случаях?

iNils
06.05.2007, 04:37
setInterval (this, "onInterval", 100);

Chas
06.05.2007, 05:11
торжественно признаюсь в том, что я чайник, неумеющий читать хелп.
спасибо за быстрый ответ.