2010-08-14 40 views
0

有沒有辦法在flex中擴展ResultEvent類?我有以下代碼:將多個參數傳遞給flex中的resulthandlers

var token:AsyncToken = remoteObject.setQueryAndGetPromptValues('country',queryString);

  token.addResponder(new mx.rpc.Responder(resultCountrySearch,faultCountrySearch)); 

var token:AsyncToken = remoteObject.setQueryAndGetPromptValues('company',queryString); token.addResponder(new mx.rpc.Responder(resultCompanySearch,faultCompanySearch));

所以一旦RPC調用被執行,我就得到一個ResultCountry,它由resultCountrySearch或resultCompanySearch處理,每個都更新相應的文本字段。我有30個這樣的提示,所以我不想創建30個不同的處理函數。有沒有一種方法可以將哪個文本字段與結果事件一起傳遞給resultHandler。

回答

1

有一種方法,因爲Swiz library爲你做。所有你需要做的就是呼叫executeServiceCall(call, resultHandler, faultHandler, eventArgs),並且evertArgs數組作爲參數傳遞給任何處理程序被調用。

我不知道所有的實現細節,但它是一個開源庫,所以你可以在他們的DynamicResponder類(實現IResponder)上看到Swiz方法。當然可以首先閱讀relevant documentation(不用擔心,它很簡單!)。

另外,你可以使用庫,但這可能不符合你的要求。

+0

這工作,謝謝! – 2011-06-20 12:18:24

4

一種方法是你的變量添加到到AsyncToken爲對象的屬性和在resulthandler中使用它們

token.myprop = myvar; 
+0

同上+ upvote。我似乎記得在flex 2中,您需要在令牌上使用括號表示法,所以在內部,我需要開發人員在向令牌添加屬性時使用括號表示法。 (儘管我可以製作flex 2的東西......) – 2010-08-14 15:45:27

+0

可以請你分享設置變量的全部語法,然後在resulthandler中使用它們 – 2011-06-20 10:45:38