博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript系列之回调函数callback
阅读量:2041 次
发布时间:2019-04-28

本文共 1073 字,大约阅读时间需要 3 分钟。

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){
//省略打开弹窗代码 } }

转载地址:http://nldof.baihongyu.com/

你可能感兴趣的文章
linux下常见命令
查看>>
loadrunner通过注册中心 网关压测spring cloud应用
查看>>
Spring Cloud 异常处理
查看>>
Redis集群性能测试工具redis-benchmark
查看>>
ActiveMQ 数据持久化
查看>>
RocketMQ批量消费、消息重试、消费模式、刷盘方式
查看>>
redis中与清空数据有关的命令
查看>>
redis cluster 一个问题:双master不能在一个虚拟机/物理机上
查看>>
Redis缓冲区设置
查看>>
RocketMQ初步应用架构理论(主从切换/异/同步刷盘)
查看>>
eclipse 修改 项目的git地址
查看>>
Spring gateway使用一个lambda例子的说明
查看>>
Bug: Return value of putIfAbsent is ignored, but list is reused
查看>>
分析验证zuul支持做外部网关
查看>>
Hive 快速入门(全面)
查看>>
修改linux最大文件句柄数
查看>>
RocketMQ 自定义(日志)文件路径
查看>>
maven配置环境变量
查看>>
spring-cloud服务网关中的Timeout设置
查看>>
HBase深度简介
查看>>