Actionscript 3 AS3语法通过变量中的名称调用另一个类的方法?(链接回调)
对象Actionscript 3 AS3语法通过变量中的名称调用另一个类的方法?(链接回调),actionscript-3,oop,Actionscript 3,Oop,对象A调用对象B的方法M,为两种情况传递两次回调:cbYes和cbNo B依次执行web服务异步调用,使用B的唯一回调方法N创建对象C(api)实例。此回调将决定调用两个回调中的哪一个 我存储cbYes和cbNo函数作为B的Function类型的私有变量 我如何调用这两个回调?它们不是B的子对象,因此语法B[cbYes]()不是正确的方法。不真实代码示例: 好的,当我编写这个示例代码时,我意识到我已经用api调用者工作人员解决了这个问题!:-)我得多睡一会儿 追问:这种架构方法看起来真的错了吗
A
调用对象B
的方法M
,为两种情况传递两次回调:cbYes
和cbNo
B
依次执行web服务异步调用,使用B
的唯一回调方法N
创建对象C
(api)实例。此回调将决定调用两个回调中的哪一个
我存储cbYes
和cbNo
函数作为B的Function
类型的私有变量
我如何调用这两个回调?它们不是B的子对象,因此语法B[cbYes]()代码>不是正确的方法。不真实代码示例:
好的,当我编写这个示例代码时,我意识到我已经用api调用者工作人员解决了这个问题!:-)我得多睡一会儿
追问:这种架构方法看起来真的错了吗?请建议一个更好的模式,或适合使用并发异步API调用的系统的模式。如果将cbYes和cbNo存储为B中的成员变量,则可以像调用普通函数一样调用它们:
public function foo(cbYes:Function,cbNo:Function):void
{
this.cbYes = cbYes;
this.cbNo = cbNo;
}
public function bar():void
{
cbYes();
}
您可以使用事件系统来实现相同的结果,而不是像这样使用回调。您可以创建自定义事件并发送“是/否”事件。谢谢@Baris!我来看看事件系统。
public function foo(cbYes:Function,cbNo:Function):void
{
this.cbYes = cbYes;
this.cbNo = cbNo;
}
public function bar():void
{
cbYes();
}