2010-08-14 22 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