查了一个下午终于弄懂了js和java的回调函数
咱们先从JS入手
一、JS的回调函数
以下来自网图,(我觉得很好理解)。
我的个人理解 js的回调函数的作用 就是有点像重载一样,不用去专门调用某一个方法。可以将一个实现许多功能的方法进行封装,封装好后,在以后能用到的地方,只要知道他的名字和参数就可以调用它了
举个例子可能会好理解一些
列如我在使用layui的时候
他这里用了【一个参数数组】和【一个调用的函数】(这个函数就是回调函数),我猜测可能是 它就是根据这个第一个参数数组里的名字去执行layui.table
和layui.layer
这两个函数 并且返回了结果。所以我就觉得这个函数有点像 java里的接口,只要知道参数名和函数就可以得到值。没有必要去把那个方法复制过来用。
二、java的回调函数
我觉得下图写得也很好,举个实际的案例会更好理解一些!
仔细想想发现,这个和JS的回调函数的功能一样,难道不觉得他就有点像是为了个方便图省事把要实现的方法都写在接口里面了吗?
客户端不管发什么信息都调用CSCallBack接口,然后根据msg的信息去确定服务器要去执行某个程序或者方法!
在联想一下,你在淘宝买东西时,你要问客服,有的时候客服不在,就与机器人回答你问题了,他可能就是根据你发的信息的关键字然后去执行服务器要发哪句话!
在这个接口上再加几个功能就行了。(但现实不可能为了一句话调用一个函数,举个例子而已哈)
个人理解若有错误请指正哈!多多评论!谢谢~
资料来源:
[1] https://jingyan.baidu.com/article/63f236281343610209ab3d43.html
[2] ifeve.com/深入浅出: -java回调机制异步/