【问题标题】:Flex - How to override the result event (HTTPService)?Flex - 如何覆盖结果事件(HTTPService)?
【发布时间】:2011-09-03 17:14:25
【问题描述】:

我有一个全局设置类,我想在这个类中切换一个 var(到 1),当我调用 send 函数并切换这个 var(到 0),当调度结果事件时。

我创建了一个类,扩展了 HTTPService..我可以覆盖发送函数(覆盖公共函数 send(parameters:Object=null):AsyncToken),但是我如何覆盖结果到达时调用的函数?

提前感谢您的回答!

【问题讨论】:

  • 当结果到达时;一个事件被调度。你真的很想听这个事件并执行你自己的逻辑;不要扩展类并更改它宣布收到结果的方式。 @Constantiner 有正确的方法。

标签: apache-flex


【解决方案1】:

我建议你使用事件但不要扩展HTTPService。因此,如果您阅读documentation,您会看到三个事件解决了您的问题:invokeresultfault。只需订阅他们。

【讨论】:

  • 是的,我知道,您的建议可以解决我的问题。但是我在很多类中有很多 HTTPService,我不想订阅所有这些结果.. 所以..在我使用 HTTPService 的任何时候,我想切换这个 var (send-1, result-1 ),所以我想重写这些函数一次,因为这样我节省了很多代码行..
  • +1 好像我明白用户想要做什么;这似乎比他的“扩展和改变”方法好得多。
  • @johnyFlex 对所有 HTTPService 结果调用使用相同的侦听器,您将获得相同的好处,只需在一个地方更改它。
  • @johnyflex 您可以创建一些服务类并在其中使用HTTPService 作为组合。此类将订阅 HTTPService 实例事件并执行您的逻辑。继承并不是所有问题的唯一解决方案。组合也很有用。
  • Johny,您可能还想查看命令和委托模式。委托抽象您的服务层(HTTPService),命令抽象调用/结果。大多数框架都使用这种模式。
猜你喜欢
  • 2012-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-06-22
  • 1970-01-01
  • 2010-09-21
  • 2021-01-23
  • 1970-01-01
相关资源
最近更新 更多