关于callback机制的理解

Posted eddywei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于callback机制的理解相关的知识,希望对你有一定的参考价值。

funcA(funcB), 这里的funcA可能长这样:

funcA(callback) {
    ...
    callback();
    ...
}

可以理解为调用了funcA,再在里面调用了funcB(当然特殊情况就是callback在第一行,但也不影响理解,因为还是先进行了调用funcA这个操作),则称为回调(回过头来调用)。

和直接调用的区别:个人理解是,如果funcA中有时需要调用funcB,有时需要调用funcC,写成callback形式就不用写一个funcA1,再写一个funcA2分别调用了,减少代码冗余。

在封装性上,funcA的调用者不需要管funcB什么时候调用,只知道funcB会被调用,至于什么时候合适调用funcB完全由funcA的代码决定。比如glDisplay(mydisplay),移动窗口,遮挡窗口都会导致重绘,情况复杂多变,但是调用者只须把重绘函数传进去就行,由glDisplay自动调用。

以上是关于关于callback机制的理解的主要内容,如果未能解决你的问题,请参考以下文章

关于js的callback回调函数的理解

c++实现Callback机制

#yyds干货盘点# Java | 关于synchronized相关理解

java回调机制——基本理解

你知道的Go切片扩容机制可能是错的

关于阮一峰老师es6(第三版)中管道机制代码的理解浅析