2012-08-14 56 views
1

如果可能,我想重用s:HTTPService組件。我無法理解如何將參數傳遞給服務調用,以便可以更改結果函數。如何將參數發送到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藝術

回答

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(),只要你喜歡

+0

THX,運行良好 – 2012-09-07 09:11:36

0

我相信我們都只有一個的ResultEvent功能,您必須編寫邏輯來區分的結果,你從ResultEvent獲取第一次和第二次調用。

相關問題