回调函数
来源:互联网 发布:网络水军怎么找 编辑:程序博客网 时间:2024/06/05 16:23
一直对回调函数一知半解,今天晚饭后碰到了回调函数,顺便查了查资料,整理如下:
主要信息来自https://www.zhihu.com/question/19801131
例1、来看这么个过程:假如你要买一个包包,但是你喜欢的那款包断货了,柜姐留下了你的电话并承诺一到货就会通知你。后来包包到货了,柜姐打了你的电话,你去店里去了货。
那么在上述事件中,你的电话号码就是回调函数,你把电话留给柜姐就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,柜姐给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。
例2、运行程序的时候,应用需要调用库的接口,此时,如果库要求应用先传递一个函数或参数,这个被传入后来又被调用的函数就称为回调函数(callback function)。就像例子1,柜姐在到货的时候会通知你,但你得先留下你的号码以用于通知。因此,回调函数就成了一个高层调用底层(不仅仅是库函数),底层再回过来调用高层的过程。故而,函数如其名,古人诚不我欺。也可以说,回调函数的精妙之处在于“程序可以在运行时,通过登记不同的回调函数,来决定、改变中间函数的行为”。这是因为,在上层调用底层函数,而底层函数在做这个事情的时候,自身的信息不够,而上层函数有这个信息,因此,根据信息的不同,就可以实现不同的函数行为。
例3、function callback() {
alert("I am in the callback!");
}
function work(func) {
alert("I am calling the callback!");
func();
}
work(callback);
这是一个简单的回调例子,callback作为一个变量传入work中被work调用。
例4、举个简单的例子 对一个文件的读入如果不用callback
fileObject = open(file)# 我们必须等到文件打开才能进行读入 在这之前我们不能做其他事情fileObject.write("We are writing to the file.")
使用callback
# 我们把writeToFile 为一个function 传入open writeToFile就是一个callback functionfileObject = open(file, writeToFile)# 我们不需要一直等着这个文件打开# 文件打开的时候 他就会执行callback 也就是writeToFile(具体实现 可以用promise) 在这之前
阅读全文
0 0
- .NET 回调函数
- 回调函数
- 回调函数
- 回调函数概念
- 回调函数
- 回调函数
- 回调函数
- 回调函数 相关
- delphi 回调函数
- 回调函数
- 回调函数
- 回调函数学习
- 回调函数
- 关于回调函数
- 透析回调函数
- 回调函数
- 什么是回调函数
- 回调函数
- javascript中的选择结构if和switch的简单使用方式及实际操作的易错点
- 实现哈夫曼树
- Spring实战-读书笔记(章节四)-面向切面的Spring
- StringUtils的leftPad(),rightPad(),center()方法使用经历
- 数据结构 递归
- 回调函数
- php模拟请求接口CURL
- Android客户端向PHP服务器端上传头像教学视频
- iOS仿探探六宫格相册的实现,带添加和删除功能
- 系统架构师考试总结
- 辛巴巴运动网第一课
- 深搜和广搜--原理彼此的优缺点
- golang sync包的读写锁RWMutex的使用
- java 反射 访问构造方法