Установка переменных во время инициализации компонента в Flex - PullRequest
0 голосов
/ 25 октября 2010

Я загружаю компонент, который выполняет вызов HTTPService для получения данных, которые затем будут использоваться для установки определенных переменных в компоненте. Я выполняю вызов HTTPService в функции init () (для события инициализации), а затем устанавливаю переменные в соответствии с данными, полученными в обработчике результатов HTTPService. Однако переменные по-прежнему равны нулю как на этапе инициализации, так и на этапе creationComplete. Если я попытаюсь прочитать переменные в функции creationComp () (для события creationComplete), эти переменные по-прежнему будут нулевыми. Это правильно?

Полагаю, я не очень хорошо понимаю цикл инициализации flex. Когда эти переменные действительно установлены и доступны для использования? Мне нужно манипулировать этими переменными автоматически после загрузки компонента. Есть ли событие, которое возникает после creationComplete, которое подходит или какой-то другой способ приблизиться к этому? Я использую Flex 3.

Ответы [ 2 ]

2 голосов
/ 25 октября 2010

Ваше понимание жизненного цикла компонентов Flex правильное; инициализировать события перед созданиемComplete.

Однако вызов HTTPService является отдельной асинхронной операцией. Обработчик результатов не гарантированно будет вызван к моменту возникновения события creationComplete. Вместо этого вы должны выполнять манипуляции с переменными в обработчике результатов.

1 голос
/ 26 октября 2010

Вам следует подумать о том, чтобы предотвратить отправку события creationComplete из вашего компонента до тех пор, пока не будет возвращен HTTPService, а затем вручную отправлять событие.

Это решит проблемы с синхронизацией.

...