Доброго времени суток. Столкнулся с такой проблемой...
Есть некий класс, в нём диспатчится событие: dispatchEvent(new Event(MY_EVENT));
При выполнении события идёт отправка запроса на сервер и получение от него данных в другом классе. После чего, некоторой переменной, относительно этих данных присваивается значение (допустим, значение переменной var становится true). Суть в том, что запрос к серверу не успевает обработаться и вместо того, чтобы получить от сервера корректное значение var = true, значение var остаётся false:

Код AS3:
dispatchEvent(new Event(MY_EVENT));
if (var) {
trace("complete");
} else {
trace("fale");
}
Единственный выход, который я нашёл - это создание задержки выполнения функции. После чего скрипт стал работать корректно:

Код AS3:
dispatchEvent(new Event(MY_EVENT));
setTimeout(traceFunct, 100);

Код AS3:
function traceFunct( ):void {
if (var) {
trace("complete");
} else {
trace("fale");
}
}
Но правильно ли это? А если обработка результатов на сервере займёт больше, чем 100 секунд или значительно больше времени. Поэтому хотел узнать, есть ли способ, при котором можно отследить выполнение dispatchEvent(new Event(MY_EVENT)), после чего уже производить необходимые действия с полученными переменными?