private function sessionHandler(event:ResultEvent, o:Object):void
{
var usercode:String = String(event.result);
trace("老婆:" + usercode);
}
protected function application1_initializeHandler():void
{
var sBiz:RemoteObject = new RemoteObject();
sBiz.destination = "sessionBiz";
sBiz.setSession("老婆","艳儿");
var ansy:AsyncToken = sBiz.getSession("老婆");
ansy.addResponder(new AsyncResponder(sessionHandler, falutHandler));
// sBiz.setSession("tt","yaner");
// sBiz.getSession("tt");
// sBiz.addEventListener(FaultEvent.FAULT, falutHandler);
// sBiz.addEventListener(ResultEvent.RESULT, sessionHandler);
}
private function falutHandler(event:FaultEvent, o:Object):void
{
Alert.show("错误信息: " + event.message);
}
在不使用flex组件而在是采用硬编码的情况下,返回值使用AsyncToken 来接收,但要注意AsyncResponder中的
参数,falutHandler和sessionHandler必须都是两个参数,原因就是由于AsyncResponder对象在构造方法中就给
_resultHandler和_faultHandler赋值了。
还有一点就是在// sBiz.addEventListener(FaultEvent.FAULT, falutHandler);
// sBiz.addEventListener(ResultEvent.RESULT, sessionHandler);这样加监听的话,返回值
总是返回两个值(null 和实际值),搞不懂是怎么回事????