1

我使用NetConnection类来建立与 amfPHP 的连接。此类有一个 call() 方法,该方法接收...rest作为最后一个参数的值,该参数将是发送到 PHP 的值。我想要的是编写一个代理类,它将接收将对 PHP 进行的调用,并且这个代理类将进行调用而不是我的 DAO。现在,我的问题是,为了有一个 Proxy NetConnection.call(),我需要接收一个...rest参数并将其传递给 NetConnection 。但发生的情况是我的函数转换...rest为数组,最后 PHP 只接收 1 个数组参数,而不是应有的大量参数。假设我不能在 PHP 上使用代理来处理这个问题,我如何确保我的...rest参数将被保留...rest为另一个函数?谢谢。

4

1 回答 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 回答