Apache flex 我可以使用。。。休息*建筑?

Apache flex 我可以使用。。。休息*建筑?,apache-flex,actionscript-3,actionscript,Apache Flex,Actionscript 3,Actionscript,我正在对一个远程对象进行多个类似的调用,结果相似。因为这些调用非常相似且非常多变,所以我一直将远程方法的名称保存在配置文件中,当需要进行调用时,我在远程对象上使用getOperation(),在操作对象上使用call send()。但是,要求已经更改,因此并非所有调用都具有相同数量的参数 因为send使用…,我是否能够继续使用相同的格式并传递数组,或者send()将其视为传递一个array类型的参数?您可以使用…rest 这将为您提供一个包含一组对象的数组。我建议您将第一项[0]始终设置为ID。

我正在对一个远程对象进行多个类似的调用,结果相似。因为这些调用非常相似且非常多变,所以我一直将远程方法的名称保存在配置文件中,当需要进行调用时,我在远程对象上使用getOperation(),在操作对象上使用call send()。但是,要求已经更改,因此并非所有调用都具有相同数量的参数


因为send使用…,我是否能够继续使用相同的格式并传递数组,或者send()将其视为传递一个array类型的参数?

您可以使用…rest


这将为您提供一个包含一组对象的数组。我建议您将第一项
[0]
始终设置为ID。此ID应标识发件人或传递的对象类型。您可以轻松地为每种类型的项目进行切换/案例。您也可以使用更复杂的方法来处理此问题,但这应该可以工作。

Operation类还有一个“arguments”属性,您可以使用它。这样,您可以在调用send()之前预先填充它。然后,send()方法不需要额外的参数

var operation:Operation = Operation(remoteObject.getOperation(methodName));
operation.arguments = parameters;

var token:AsyncToken = operation.send();
var responder:Responder = new Responder(resultHandler, faultHandler);
token.addResponder(responder);

作为旁注,这可能有助于澄清任何混淆:如果您抽象RO操作的方式导致问题,因为您的操作.send()调用将发送一个数组作为唯一参数,请查看Function.apply()。因此,在您的示例中,如果要将arg数组拆分为send()调用,可以执行以下操作:(operation.send as Function).apply(targetThis,arrayOfArgs)。如果您发现正在将一个数组对象发送到远程方法签名中,那么这将分解args。希望有帮助。祝你好运。