回调函数

一、什么是回调函数?

看了很多版本的解释,终于明白了所谓的回调就是函数A调用函数B并将函数C作为参数传给函数B,并由函数B进行调用的过程,所以这里的函数C就是回调函数。

具体的执行过程可以见下图:

 

 看图中的执行过程咋一看和我们正常的函数执行流程没有什么大的区别,但实际的实现效果却可以因为函数C的不同而千差万别。很多时候对于A->B->C的调用,正常都会在函数B中直接调用C,但是对于不同的应用场景却可能需要在B中调用C、D、E甚至F等等函数。而采用了回调后,却可以由调用者直接根据调用的场景不同选择传入不同的函数进入B中,从而增加了函数的复用、避免了在函数B中出现诸多分支而不易维护的场景。

 

二、回调函数实现的机制

  (1)定义一个回调函数;

  (2)提供函数实现的一方在初始化的时候,将回调函数的函数指针注册给调用者;

  (3)当特定的事件或条件发生的时候,调用者使用函数指针调用回调函数对事件进行处理。

posted @ 2020-01-10 23:57  但求无悔1993  阅读(135)  评论(0编辑  收藏  举报