我在我的应用程序中使用了Rails后端,并从它返回了一个AsyncToken (具体来说是一个DB-Call )
据我所知,当从请求中加载完所有数据后,AsyncToken会返回一个结果事件,这样就可以确保在执行某些使用数据的函数之前加载了所有数据。
我尝试了以下实现,将AsyncToken转换为数组,并将其对象作为字符串绘制给用户:
var dataSrv:services.databaseservice.DatabaseService = new services.databaseservice.DatabaseService;
dataSrv.addEventListener(ResultEvent.RESULT, dbListener);
//DBOPERATION returns my AsyncToken
var listData:AsyncToken = dataSrv.DBOPERATION;
var responder:AsyncResponder = new AsyncResponder( resultHandler, faultHandler );
listData.addResponder(responder);
public function resultHandler(event:ResultEvent, token:Object=null):void{
var output: Array = (event.result as Array);
for (var i:int = 0; i<output.length; i++){
Alert.show( output[i].toString() );
}
}
public function faultHandler(event:FaultEvent, token:Object=null):void{
Alert.show( "FAULT: " + event.fault.message );
}但我一直收到“空对象指针”错误!
发布于 2010-08-19 02:32:44
好的,下面是它的工作原理:
var output:ArrayCollection = (event.result as ArrayCollection);
for (var i:int = 0; i<output.length; i++)
{
// where VARIABLE is the name of the transmitted data-variable
Alert.show(output[i].VARIABLE);
}希望这对其他人有帮助。感谢大家的帮助,stackoverflow太棒了!
发布于 2010-08-19 01:18:30
您可以在以下行中添加断点
var output: Array = (event.result as Array);然后转到Flash Debug透视图,在"Variables“窗格中,您应该能够访问事件的属性并查看result属性的内容。
如果result属性为空,则可能需要仔细检查从Rails返回的内容
https://stackoverflow.com/questions/3514610
复制相似问题