JavaScript回调函数callback用法解析
作者:smileNicky 发布时间:2024-04-22 22:12:48
标签: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){
//省略打开弹窗代码
}
}
来源:https://www.cnblogs.com/mzq123/p/12182152.html


猜你喜欢
- 我们都一定对比过编程的轻松与简单性。虽然我们都确认php和perl是最容易学习和编程的语言,但我仍旧想知道,如果用php、asp、jsp以及
- Dreamweaver从出道以来,其简便易用而又功能强大的“行为”(Behavior)一直是大家所关注的热点之一。在Dreamweaver
- 对于个人网站来说,受到建站条件的制约,Access数据库成了广大个人网站站长的首选。然而,Access数据库本身存在很多安全隐患,攻击者一旦
- 今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本。方法一(通用脚本):#!/usr/bin/env python # -*- codin
- 优点:兼容性很好,而且俺觉得不应该有什么拦截工具可以拦截下来优点:代码非常短缺点:必须在页面点击后才会弹出demo:运行代码框<hea
- 运算符的优先级和关联性运算符的优先级和关联性: 运算符的优先级和关联性决定了运算符的优先级。运算符优先级这用于具有多个具有不同优先级的运算符
- 计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户的年龄,根据年龄打印不同的内容。。。Python程序中,能让计算机
- 网站搬家的时候碰到的这个问题,因为数据一直是使用PhpMyAdmin工具来进行备份和恢复的,但是随着网站的数据越来越多,所以数据库也是越来越
- 序章yield item这行代码会产出一个值,提供给next()的调用方;此外还会做出让步,暂停执行生成器,让调用方继续工作,知道需要使用另
- 环境搭建1.首先需要自行安装node环境2.然后全局安装 expressnpm install -g express3.创建express项
- 因为需要检测一个一个链接中是否包含了IP地址,在这里需要使用到正则表达式 ,python完美的支持了正则表达式,在这里使用re模块来完成,对
- Python 3最重要的新特性之一是对字符串和二进制数据流做了明确的区分。文本总是Unicode,由str类型表示,二进制数据则由bytes
- import random, stringclass C(object): passdef danger
- 条件查询范围查询模糊查询条件查询all()返回全部结果集filter(**kwargs)返回满足参数定义的结果集 例如Entry.objec
- 一、前言这几天宅在家里网上冲浪,无意间看到了一个比较有趣的项目,就是使用 Python 语言实现对视频中的人物的眨眼进行计数并描绘在图表中。
- 安装anaconda 是自动集成的如果导入不存在,直接pippip install tqmd参数#参数介绍iterable=None,des
- 前言因为工作的需要,最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同
- 基本语句结构if 判断条件1: 执行语句1……elif 判断条件2:
- 通过第三方库exifread读取照片信息。exifread官网:https://pypi.org/project/ExifRead/一、安装
- 一、含有一个装饰器#encoding: utf-8############含有一个装饰器#########def outer(func):