有没有办法在flex中扩展ResultEvent类。我有以下代码:
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调用,我得到一个由resultCountrySearch或resultCompanySearch处理的ResultEvent,每个ResultEvent都会更新相应的文本字段。我有30个这样的提示,所以我不想创建30个不同的处理函数。有没有办法可以传递哪个文本字段以及结果事件更新到resultHandler。
答案 0 :(得分:4)
一种方法是将变量作为对象属性添加到asyncToken中,并在resulthandler中使用它们
token.myprop = myvar;
答案 1 :(得分:1)
有一种方法,因为Swiz library为你做了。您所要做的就是调用executeServiceCall(call, resultHandler, faultHandler, eventArgs)
,并将evertArgs
数组作为参数传递给任何调用的处理程序。
我不知道所有的实现细节,但它是一个开源库,因此您可以在他们的DynamicResponder
类(实现IResponder
)中查看Swiz方法。当然最好首先阅读relevant documentation(不要担心,它很简短!)。
或者您可以使用该库,但这可能不符合您的要求。