JavaScript回调函数callback用法解析


Posted in Javascript onJanuary 14, 2020

这篇文章主要介绍了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){
      //省略打开弹窗代码
    }
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript客户端脚本的设计和应用
Aug 21 Javascript
Javascript miscellanea -display data real time, using window.status
Jan 09 Javascript
javascript Array对象基础知识小结
Nov 16 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
Oct 17 Javascript
jQuery应用之jQuery链用法实例
Jan 19 Javascript
jQuery子元素过滤选择器用法示例
Sep 09 Javascript
炫酷的js手风琴效果
Oct 13 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
基于JavaScript实现五子棋游戏
Aug 26 Javascript
详解Vue中数组和对象更改后视图不刷新的问题
Sep 21 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 Javascript
一文带你理解vue创建一个后台管理系统流程(Vue+Element)
May 18 Vue.js
JS document对象简单用法完整示例
Jan 14 #Javascript
JS document内容及样式操作完整示例
Jan 14 #Javascript
微信小程序indexOf的替换方法(推荐)
Jan 14 #Javascript
小程序中设置缓存过期的实现方法
Jan 14 #Javascript
ES6实现图片切换特效代码
Jan 14 #Javascript
vue项目创建步骤及路由router
Jan 14 #Javascript
JS实现容器模块左右拖动效果
Jan 14 #Javascript
You might like
php基础教程 php内置函数实例教程
2012/08/21 PHP
php实现的替换敏感字符串类实例
2014/09/22 PHP
合格的PHP程序员必备技能
2015/11/13 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
Laravel框架模型的创建及模型对数据操作示例
2019/05/07 PHP
图片延迟加载的实现代码(模仿懒惰)
2013/03/29 Javascript
jQuery JSON实现无刷新三级联动实例探讨
2013/05/28 Javascript
js 走马灯简单实例
2013/11/21 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
JavaScript监听和禁用浏览器回车事件实例
2015/01/31 Javascript
javascript中 try catch用法
2015/08/16 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
js实现常用排序算法
2016/08/09 Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
2017/04/13 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
浅谈关于JS下大批量异步任务按顺序执行解决方案一点思考
2019/01/08 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
Vue跨域请求问题解决方案过程解析
2020/08/07 Javascript
Python记录详细调用堆栈日志的方法
2015/05/05 Python
Python Pandas数据中对时间的操作
2019/07/30 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
分享PyCharm的几个使用技巧
2019/11/10 Python
python psutil监控进程实例
2019/12/17 Python
python3注册全局热键的实现
2020/03/22 Python
python使用for...else跳出双层嵌套循环的方法实例
2020/05/17 Python
详解Pycharm第三方库的安装及使用方法
2020/12/29 Python
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
锐步香港官方网上商店:Reebok香港
2020/11/05 全球购物
int和Integer有什么区别
2013/05/25 面试题
施工安全责任书
2014/04/14 职场文书
房地产广告策划方案
2014/05/15 职场文书
村党支部对照检查材料思想汇报
2014/09/28 职场文书
2014年技术员工作总结
2014/11/18 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
导游词之南京汤山温泉
2019/11/26 职场文书
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
2022/01/18 PostgreSQL