回调函数,说穿了其实就是一个通过函数指针来调用的函数。怎么理解呢?如果你把某个函数的指针(也就是它的地址)当作参数传递给另一个函数,然后这个指针被用来调用它所指向的那个函数,那么我们就说这是回调函数。关键点在于:回调函数并不是由它自己的实现逻辑直接调用的,而是在某个特定事件或条件发生时,由另一个方法主动去调用的,用于对该事件或条件做出响应。
下面我们通过实际代码来演示一下回调函数的应用,这样更直观。
**FlexCallBack.mxml**
复制代码
代码如下:
```xml
```
然后是我们自己定义的 `FlexApp` 类:
复制代码
代码如下:
```xml
package
{
public class FlexApp
{
public function FlexApp(param:String,func:Function)
{
func.call(null,"收到");
}
}
}
```

这段代码其实很清楚地展示了回调的机制:`doSend()` 方法里创建了一个 `FlexApp` 实例,并把 `callBack` 函数作为参数传进去;`FlexApp` 的构造函数内部通过 `func.call` 去调用这个传入的函数,最终弹出一个提示框显示“收到”。整个过程就是典型的回调模式——调用者(`FlexApp`)不直接执行逻辑,而是通过参数拿到一个“回调函数”,在合适的时机去触发它。
本文转载于:https://www.jb51.net/article/41202.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。