2011-02-02 3 views
0

1つのリモートオブジェクトに同様の結果を持つ複数の同様の呼び出しを行っています。これらの呼び出しは非常に似ていて非常に変更可能であるため、リモートファイルの名前を設定ファイルに保存しています。呼び出しを行うときには、リモートオブジェクトに対してgetOperation()を使用し、send()を呼び出します操作オブジェクトただし、すべてのコールが同じ数のパラメータを持つわけではないように、要件が変更されています。配列を関数に渡すことはできますか?rest *構造ですか?

sendを使用すると、同じフォーメーションを使用し続けて配列を渡すことができますか、それともarray()型の1つの引数を渡してsend

+1

、そして多分これは混乱を明確に役立ちます。あなたのoperation.send()の呼び出しが唯一の引数として1つの配列を送信しているので、あなたがあなたのROの操作を抽象化してきた方法は、問題が発生した場合、 Function.apply()を調べます。ですから、あなたの配列をsend()コールに分解する例では、 (operation.send as Function).apply(targetThis、arrayOfArgs)のようなことをします。 リモートメソッドシグネチャに1つの配列オブジェクトを送信していることがわかっている場合は、argを分割します。 希望に役立ちます。運が良かった。 –

答えて

1

Operationクラスには、使用できる「arguments」プロパティもあります。そうすれば、send()を呼び出す前にprefillすることができます。 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); 
0

あなたは、あなたのオブジェクトの束を持つ配列を与えるだろう...残り

を使用することができます。私はあなたが最初の項目を作ることをお勧めします[0]常にID。このIDは、送信者または渡されるオブジェクトのタイプのいずれかを識別する必要があります。あなたは簡単に項目の各タイプのスイッチ/ケースを行うことができます。あなたはこれを扱うもっと洗練された方法をとることもできますが、これはうまくいくはずです。

関連する問題