我正在加载一个组件,该组件进行HTTPService调用以获取数据,然后将其用于设置组件中的某些变量。我在init()函数中进行HTTPService调用(对于初始化事件),然后根据HTTPService结果处理程序中收到的数据设置变量。但是,变量在initialize阶段和creationComplete阶段仍为null。如果我尝试在creationComp()函数中读取变量(对于creationComplete事件),那些变量仍为null。它是否正确?
我想我不太了解flex初始化周期。这些变量何时实际设置并可以使用?我需要在组件加载后自动操作这些变量。是否有一个事件在creationComplete之后是适当的或其他方式来处理这个?我正在使用Flex 3。
答案 0 :(得分:2)
您对Flex组件生命周期的理解是正确的;在creationComplete之前初始化事件触发。
但是,HTTPService调用是一个单独的异步操作。在creationComplete事件触发时,不保证调用结果处理程序。您应该在结果处理程序中对变量进行操作。
答案 1 :(得分:1)
您应该考虑阻止从组件调度creationComplete事件,直到HTTPService返回,然后自己手动调度事件。
这会解决你的时间问题。