JavaScript回调函数callback用法解析

 更新时间:2020年01月14日 10:40:33   作者:smileNicky   我要评论
这篇文章主要介绍了JavaScript回调函数callback用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了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检测两个数组是否相似

    Javascript不能直接用==或者===来判断两个数组是否相等,无论是相等还是全等都不行,要判断JS中的两个数组是否相同,需要先将数组转换为字符串,再作比较。
    2015-05-05
  • 使用 js+正则表达式为关键词添加链接

    使用 js+正则表达式为关键词添加链接

    这篇文章主要介绍了使用 js+正则表达式为关键词添加链接,十分的简单,需要的朋友可以参考下
    2014-11-11
  • 基于JS实现html中placeholder属性提示文字效果示例

    基于JS实现html中placeholder属性提示文字效果示例

    这篇文章主要介绍了基于JS实现html中placeholder属性提示文字效果,涉及javascript事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下
    2018-04-04
  • javascript不可用的问题探究

    javascript不可用的问题探究

    在Twitter上的一些有趣的讨论中, 我发现人们对于Web应用和站点对javascript的依赖普遍存在一种疑惑. 这种疑惑一直都存在, 而对我而言, 这个问题随着浏览技术的飞跃发展而集中爆发了
    2013-10-10
  • 运用js实现图层拖拽的功能

    运用js实现图层拖拽的功能

    js拖拽是常见的网页效果,本文将从零开始实现一个简单的js插件,下面和小编来一起学习一下吧
    2019-05-05
  • node.js chat程序如何实现Ajax long-polling长链接刷新模式

    node.js chat程序如何实现Ajax long-polling长链接刷新模式

    node.js chat是node.js作者用JS写的一个多人聊天工具, 源代码公开下载,网址是chat.nodejs.org。作者用这个小例子,来展示如何用nodejs开发高效率的应用程序。对于nodejs的学习者来说,是一个很好的例子
    2012-03-03
  • 10种JavaScript最常见的错误(小结)

    10种JavaScript最常见的错误(小结)

    这篇文章主要介绍了10种JavaScript最常见的错误(小结),查看了数千个项目后,发现了 10 个最常见的 JavaScript 错误。我们会告诉你什么原因导致了这些错误,以及如何防止这些错误发生
    2019-06-06
  • form.submit()不能提交表单的原因分析

    form.submit()不能提交表单的原因分析

    这篇文章主要分析了form.submit()不能提交表单的原因,需要的朋友可以参考下
    2014-10-10
  • javascript自启动函数的问题探讨

    javascript自启动函数的问题探讨

    自启动函数想必大家并不陌生吧,在本文将为大家详细探讨下,感兴趣的朋友可不要错过
    2013-10-10
  • 去除html代码里面的script正则方法

    去除html代码里面的script正则方法

    下面小编就为大家带来一篇去除html代码里面的script正则方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05

最新评论