js中的callback(阻塞同步或异步时使用)
2016-07-08 16:41
239 查看
1、回调就是一个函数的调用过程,函数a有一个参数,这个参数是个函数b,当函数a执行完以后执行函数b,
那么这个过程就叫回调
eg.
运行结果:
parent
callback
b
2、回调什么时候执行
回调函数一般在同步情境下是最后执行的,在异步情况下是有可能不执行的,因为事件没有被触发或者
条件不满足
3、回调函数使用的场合
(1)资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成
执行回调等等
(2)DOM事件及Node.js事件基于回调机制
(3)setTimeout的延迟时间为0,这个hack经常被用到,setTimeout调用的函数其实就是一个callback
的体现
(4)链式调用
那么这个过程就叫回调
eg.
function a(callback){ alert('parent'); alert('callback'); callback(); } function b(){ alert('b'); } a(b);
运行结果:
parent
callback
b
2、回调什么时候执行
回调函数一般在同步情境下是最后执行的,在异步情况下是有可能不执行的,因为事件没有被触发或者
条件不满足
3、回调函数使用的场合
(1)资源加载:动态加载js文件后执行回调,加载iframe后执行回调,ajax操作回调,图片加载完成
执行回调等等
(2)DOM事件及Node.js事件基于回调机制
(3)setTimeout的延迟时间为0,这个hack经常被用到,setTimeout调用的函数其实就是一个callback
的体现
(4)链式调用
相关文章推荐
- spingmvc 返回json数据日期格式化方法
- 常规功能和模块自定义系统 (cfcmms)—053把一对多(OneToMany)字段的grid加入到form中
- js中刷新页面
- js控制html元素的readonly属性
- js局部变量和全局变量
- js实现精确加减乘除
- 10、JSONP实现Ajax的跨域请求
- 彻底弄懂JS的事件冒泡和事件捕获
- [Sencha ExtJS & Touch] singletap 和 tap的区别
- js 通过感叹号判断变量是否有值
- 使用gulp-uglify压缩js文件
- js中的逻辑与(&&)与逻辑或(||)
- javascript获得滚动条高度
- javascript获得滚动条高度
- .net对json序列化和反序列化
- javascript模版引擎Mustache
- 使用Retrofit通过post提交Json数据
- JS:window.onload的使用介绍
- 编写具有可维护性的JavaScript代码
- Ajax处理XML、HTML、JSON三种数据格式的方法