Php AS2等待返回
我在做一个AS2项目。我目前有一个链接到一些PHP数据包的函数。基本上,发送数据包,然后根据参数发回一些信息。很简单,真的 问题是原始函数需要返回该数据。所以我需要它等待数据包返回以便返回。除非您不能将“return”附加为侦听器的函数Php AS2等待返回,php,actionscript-2,listeners,Php,Actionscript 2,Listeners,我在做一个AS2项目。我目前有一个链接到一些PHP数据包的函数。基本上,发送数据包,然后根据参数发回一些信息。很简单,真的 问题是原始函数需要返回该数据。所以我需要它等待数据包返回以便返回。除非您不能将“return”附加为侦听器的函数 function handleReturnNicknameById(id) { nFunctionComplete = 0; trace("api : handleGetSwidById"); AIRTOWER.send(AIRTOWER
function handleReturnNicknameById(id)
{
nFunctionComplete = 0;
trace("api : handleGetSwidById");
AIRTOWER.send(AIRTOWER.PLAY_EXT, "friends#getPlayerInfoById", [id], "str", SHELL.getCurrentServerRoomId());
AIRTOWER.addListener('getPlayerInfoById', handleReturnNickname);
while(nFunctionComplete < 700)
{
if(nickReady == true)
{
nFunctionComplete = 701;
return(nickToReturn);
}
nFunctionComplete++;
}
}
function handleReturnNickname(obj)
{
AIRTOWER.removeListener('getPlayerInfoById', handleReturnNickname);
obj.shift();
nickToReturn = obj[1];
nickReady = true;
}
函数handleReturnNicknickById(id)
{
nFunctionComplete=0;
跟踪(“api:handleGetSwidById”);
AIRTOWER.send(AIRTOWER.PLAY_EXT,“friends#getPlayerInfoById”,[id],“str”,SHELL.getCurrentServerRoomId());
AIRTOWER.addListener('getPlayerInfoById',Handlereturn昵称);
而(功能完成<700)
{
如果(nickReady==true)
{
nFunctionComplete=701;
返回(nickToReturn);
}
nFunctionComplete++;
}
}
函数handleReturn昵称(obj)
{
AIRTOWER.removeListener('getPlayerInfoById',Handlereturn昵称);
obj.shift();
nickToReturn=obj[1];
nickReady=正确;
}
这是我唯一能让它工作的想法。我知道这是非常无效的,这就是为什么我在这里寻求帮助
最终的问题是:在AS2中,是否可以在返回之前使函数“wait”?要执行您正在查找的操作,您可以使用在加载数据时将调用的。因此,您的代码如下所示:
function handleReturnNicknameById(id:Number, callback:Function): Void
{
AIRTOWER.send(AIRTOWER.PLAY_EXT, "friends#getPlayerInfoById", [id], "str", SHELL.getCurrentServerRoomId());
AIRTOWER.addListener('getPlayerInfoById', handleReturnNickname);
function handleReturnNickname(obj): Void
{
AIRTOWER.removeListener('getPlayerInfoById', handleReturnNickname);
obj.shift();
var nickToReturn = obj[1];
// run the callback function and pass the needed data
callback(nickToReturn);
}
}
// this function is called only when data is loaded
function my_callback(data): Void
{
// here you can use your data
trace('loaded data : ' + data);
}
并执行所有这些:
handleReturnNicknameById(id, my_callback);
希望这能有所帮助