RemoteObject を呼び出した後、成功するまで同じ操作を再度呼び出す必要がある場合があります。
private var myserviceRO:RemoteObject = new RemoteObject("myService");
[...]
myserviceRO.operationName.addEventListener(ResultEvent.RESULT, myResultHandler);
myserviceRO.operationName.addEventListener(FaultEvent.FAULT, myFaultHandler);
myserviceRO.operationName(arg1, arg2, arg3);
[...]
protected function myFaultHandler(faultEvent:FaultEvent):void {
//under some condition, resend the operation that failed
(faultEvent.currentTarget as Operation).send();
//under some condition, resend the operation that failed
(faultEvent.currentTarget as Operation).send((faultEvent.currentTarget as Operation).arguments);
}
私の操作には3つの引数が必要であり、パラメーターをsend()メソッドに渡す方法がわかりません。
- send() を呼び出すと、「0 引数が渡され、3 が期待されます」というエラーが表示されます。
- send(operation.arguments) を呼び出すと、「1 つの引数が渡され、3 つの引数が必要です」というメッセージが表示されます
send() ドキュメントでは、次のように指定されています。
- メソッドを実行します。渡された引数は、
- メソッド呼び出し。引数が渡されない場合、引数オブジェクト
- パラメータのソースとして使用されます。
したがって、引数を送信しない場合、元の引数が使用されるはずですが、明らかにそうではありません。
アプリケーションをデバッグすると、 (faultEvent.currentTarget as Operation).argumentNamesは常に空の arrayであり、argumentsは常に空の Objectであることがわかります。
パラメータを渡す方法を教えてください。
ありがとうございました。