我使用NetConnection
类来建立与 amfPHP 的连接。此类有一个 call() 方法,该方法接收...rest
作为最后一个参数的值,该参数将是发送到 PHP 的值。我想要的是编写一个代理类,它将接收将对 PHP 进行的调用,并且这个代理类将进行调用而不是我的 DAO。现在,我的问题是,为了有一个 Proxy NetConnection.call()
,我需要接收一个...rest
参数并将其传递给 NetConnection 。但发生的情况是我的函数转换...rest
为数组,最后 PHP 只接收 1 个数组参数,而不是应有的大量参数。假设我不能在 PHP 上使用代理来处理这个问题,我如何确保我的...rest
参数将被保留...rest
为另一个函数?谢谢。
问问题
206 次
1 回答
1
所以...rest
最终获取所有剩余的参数,并从中创建一个名为 rest 的数组。如果你想用一组参数调用一个函数,而不是一个一个地调用,那么Function 上的 apply 方法 就是你要找的。我不熟悉 NetConnection 但这里有一个例子
public function proxy(command:String, responder:Responder, ... args):void{
var netConnection:NetConnection = new NetConnection();
var argsToApply:Array = [command,responder];
argsToApply = argsToApply.concat(args); //Forms an array of all the arguments in order
netConnection.call.apply(null,argsToApply);
}
形成了所有参数的单个数组,这样 apply 可以与 call 方法一起使用。
于 2013-02-07T00:41:42.520 回答