我有一个问题是调用闪存介质服务器中定义的异步函数中的Flash客户端中定义的响应方法。
我的客户代码,
私有函数handleResp (结果:对象){trace(“得到的 数字“+ result.number);}
netConnection.call(“getnum”,new 响应者(handleResp));
我的服务器代码,
Application.handleServerResp.onResult =功能(结果) {
// ??????如何调用客户端的handleResp
}
>
Client.prototype.getnum = function() {
//无法获取号码,请拨打另一个号码 服务器(中央一号)的号码
centralNetConnection.call (“getnumNOW”,新的响应者 (handleServerResp)); }
答案 0 :(得分:0)
基本上,Responder类用于处理服务器方法的返回值,因此不能异步使用它。 你可以这样做:
创建客户响应方法(它应该是公共的,否则FMS无法访问它)。
public function handleResp (result:Object) { trace ("get the number " + result.number); };
设置NetConnection对象的客户端。
netConnection.client = this; // if your responder function is in this scope, otherwise set that object what contains your function.
调用服务器端方法。
netConnection.call ("getnum", null); // set null as resopnder
在服务器端的responder方法中,调用客户端方法。
Application.handleServerResp.onResult = function (result)
{
clientOBJ.call( "handleResp", null, result ); // you don't use responder, so pass null as second parameter
}
希望这有帮助。
干杯,
Tamas Gronas