关于回调函数的一些理解

还记得刚去第一份工作的时候,啥也不会,那时候的老大把我们几个新人喊去,说你们新人只要学会两件事情,编码的技术就会提高很多,可以快速进入这个门槛,那就是学会搜索和理解什么是回调函数。

虽然他这么说夸张了,我这也是突然想到这一茬有感而发。不过这个回调函数在我之后几年的工作中确实频繁使用,这一篇不讲搜索,专门来讲一讲回调函数。

什么是回调函数?

维基百科:回调函数是指通过参数函数传递到其它代码的,某一块可执行代码引用

好吧,太过于官方了,允许我等俗人,理解不了。

经过我对回调函数的使用和理解,接下来用我的方式讲讲什么是回调函数。

我打个比方吧,张三找李四有急事,而且是那种比较隐私的事,他一下子找不到李四,但是他有李四合租室友王五的手机号,于是他打电话给王五。

张三:“王五,你的室友李四在吗?”

王五:“张三啊,李四这会不在,你找他有事吗?”

张三:“这样啊,那等他回来(触发条件),你就跟他说我找他有急事,叫他来一趟我家,我要和他聊聊(通过传参的形式,告知去执行一个某个函数,具体内容不知)。

王五:“好的,我会转告他的。”

解释:以上的例子就完成了一次回调的过程,回调之所以叫回调,就是不是现在立马调用,而是在未来或者程序执行到某一步再去调用。这里就是当四里回到宿舍的时候,王五会告诉李四这个事。会有一个触发点,所以叫回调。那么回调总是要去调用一个函数咯,在这个例子中调用的是什么函数呢?这里王五的作用相当于一个小的代码块,他会在李四回家的这个条件达成时,告知李四去王五家找张三聊聊,就是告知程序去执行一个名字叫“去张三家聊天”的函数。这里本来程序写的是去执行一个传进来的函数,这个“”去张三家聊天“”函数就是通过参数传进来的(可以传引用,也可以传函数名,这个要看具体用的是什么编程语言),这很重要。至于聊天的具体内容是什么,张三没说,王五不知道,也不需要知道也不想知道。张三到时候想说什么就说什么,很随意的。知道李四去张三家的时候,才会真正执行这个这个函数。

放在代码里面,怎么去说呢?

应用A提供一个接口出来,通过传参的形式约定好当应用B在达成某个条件时,调用这个接口。

话不多说,完工!

posted on 2021-03-10 10:12  little天  阅读(98)  评论(0编辑  收藏  举报

导航