[]执行回调函数时报is not a function
解压缩laya_game.rar,双击打开laya_game\hgameStarter\bin\h5目录下的index.html,待浏览器打开后,打开开发者工具查看:
Main.as里把getRolesBack函数作为回调函数传给SocketProxy.as setRoleCall,但是回调回来执行getRolesBack的时候,loadCreateRole()报错:this.loadCreateRole is not a function。
回调函数里的函数执行不了吗?求解决办法。//Main.as
private function loadRoles():void
{
SocketProxy.instance.setRoleCall(getRolesBack);
}
protected function getRolesBack(data:ByteArray):void
{
var len:int=data.readShort();
if (len == 0)
{ //没有角色...则开始创建
trace("#没有角色...则开始创建");
_allRegisterComplete=false;
_isFirstLogin=true;
loadCreateRole();
}
}
//SocketProxy.as
public function setRoleCall(callback:Function):void
{
callback(data);
}
Main.as里把getRolesBack函数作为回调函数传给SocketProxy.as setRoleCall,但是回调回来执行getRolesBack的时候,loadCreateRole()报错:this.loadCreateRole is not a function。
回调函数里的函数执行不了吗?求解决办法。//Main.as
private function loadRoles():void
{
SocketProxy.instance.setRoleCall(getRolesBack);
}
protected function getRolesBack(data:ByteArray):void
{
var len:int=data.readShort();
if (len == 0)
{ //没有角色...则开始创建
trace("#没有角色...则开始创建");
_allRegisterComplete=false;
_isFirstLogin=true;
loadCreateRole();
}
}
//SocketProxy.as
public function setRoleCall(callback:Function):void
{
callback(data);
}
没有找到相关结果
已邀请:
3 个回复
cuixueying
赞同来自: wwxinqq
正确的this,应该指向MhsgStarter,现在是window
修改方式有2个,你可以参考下
1、传参的时候不要传function,可以考虑传一个Handler
2、直接传一个函数体过去
cuixueying
赞同来自:
wwxinqq
赞同来自: