1

s:HTTPService可能であれば、コンポーネントを再利用したいと考えています。結果関数を変更できるように、サービス呼び出しにパラメーターを渡す方法がわかりません。

例えば、

functOne(), HTTPService result = "FunctOneRtn(event)"
functTwo(), HTTPService result = "FunctTwoRtn(event)"

フレックス4.6

<fx:Declarations>
    <s:HTTPService id="myCall" url="http://myUrl.com/"
                   useProxy="false" method="POST" result=funct***Rtn(event) >
    </s:HTTPService>
</fx:Declarations>
<fx:Script>
    <![CDATA[
        import mx.rpc.events.ResultEvent;
        private function functOne() :void
        {
            var params:Object = new Object();
            /* call FuntOneRtn */       
            myCall.send(params);
        }
                    private function functTwo() :void
        {
            var params:Object = new Object();
            /* call FuntTwoRtn */       
            myCall.send(params);
        }

        public function FunctOneRtn(event:ResultEvent) : void{
            // Do Some Stuff
        }
                    public function FunctTwoRtn(event:ResultEvent) : void{
            // Do Some Stuff
        }




    ]]>
</fx:Script>

thxアート

4

2 に答える 2

1

HTTPService にパラメーターを渡すことはできませんが、さまざまな要求のハンドラー関数を変更することはできます。これはサンプルです

<fx:Declarations>
<s:HTTPService id="myCall" url="http://myUrl.com/"
               useProxy="false" method="POST">
</s:HTTPService>
</fx:Declarations>

private function functOne():void
{
       myCall.addEventListener("result",FunctOneRtn);
}
private function functTwo():void
{
       mycall.removeEventListner("result",FunctOneRtn);
       myCall.addEventListener("result",FunctTwoRtn);
}
private function FunctOneRtn(event:ResultEvent)
{
    //handle function one result
}
private function FunctTwoRtn(event:ResultEvent)
{
    //handle function two result
}     

次に、 functOne() と functTwo() を好きなように呼び出すことができます

于 2012-08-14T08:25:35.533 に答える
0

ResultEvent 関数は 1 つしかないと思います。1 回目と 2 回目の呼び出しで ResultEvent から取得した結果を区別するロジックを記述する必要があります。

于 2012-08-14T06:25:08.000 に答える