JavaScript系列之回调函数callback

JavaScript回调函数的使用是很常见的,引用官方回调函数的定义:

A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.

解释得很明确,回调函数就是作为参数传递给另一个函数并在其父函数完成后执行的函数。

听起来似乎有点不好理解,所以还是举例进行说明,介绍回调函数之前先简单说明一下同步和异步,前端也有同步和异步。同步和异步总得来说,两者最明显的区别就是是否需要等待,如果是串行执行的就是同步机制,是并行执行的就是异步机制,这个比较好理解

回调函数的使用并没有同步和异步的区别,回调函数只是一种特殊的函数,可以应用于同步调用场景,也可以应用于异步调用场景

  • 异步请求中的回调函数
    最常用的有ajax异步调用或者事件机制,例子:
$.get('${root}/saveOrUpdate.do',function(result){
alert(result);
});
  • 同步请求中的回调函数

业务场景:举个例子,点击按钮会触发main函数,进行接口数据保存(异步方式),数据保存成功之后,再回调打开弹窗的函数

保存数据函数:

function saveRecord(seq,callback){
$.ajax({
url:'${root}/saveOrUpdate.do',
type:"post",
async:true,
success:function(result){
//确保callback是一个函数类型的
if(typeof(callback)==='function'){
callback(true);
}
}
});
}

main函数

//保存成功,才会打开弹窗
function main(seq){
saveRecord(seq,callbackFunction);
}

回调函数,数据保存成功后再调用

/*保存时的回调函数*/
function callbackFunction(saveSuccess){
if(saveSuccess){
//省略打开弹窗代码
}
}

最新文章

  1. node应用线上部署时锁定包的依赖版本
  2. iOS MJRefresh设置MJRefreshStateNoMoreData状态图片
  3. [转]在EntityFramework6中执行SQL语句
  4. LeetCode-Group Anagrams
  5. Web--RSS
  6. AS的快捷键
  7. ASP开发中服务器控件和普通控件的区别
  8. Excel中输入√背景显示蓝色,输入×背景显示红色
  9. Swift 析构器deinit
  10. pwnable.kr login之write up
  11. C#中StreamReader读取中文时出现乱码问题总结
  12. 【开源】C#.NET股票历史数据采集,【附18年历史数据和源代码】
  13. mongodb3.6 (四)net 客户端如何连接、访问mongodb集群
  14. 简简单单的Vue3(插件开发,路由系统,状态管理)
  15. [Java] 練習用對戰小遊戲
  16. childNodes遍历DOM节点树
  17. tomcat升级 遇到的坑
  18. jQuery获取元素上一个、下一个、父元素、子元素
  19. The Monster CodeForces - 917A (括号匹配)
  20. 将tomcat以普通用户启动

热门文章

  1. windows上安装redis并安装php5.6的redis扩展
  2. 移动端Chrome Inspect调试 (Android通过Chrome Inspect调试WebView的H5)(ios手机safari,chrome调试 windows)(如果inspect的时候,是空白)
  3. zoj 2954 Hanoi Tower
  4. Python基础知识汇总
  5. Appium + python 自动化测试环境配置
  6. visualStudio 无法登陆
  7. P1088 上台阶
  8. P1089 过独木桥
  9. linux poll 和 select
  10. Canvas动画:地球绕着太阳转