好吧,最近在学习前后端交互,然后就需要用到callback函数,callback是什么鬼~

好吧callback到达是什么呢

知呼上有个大神描述的很形象

你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的电话号码就叫回调函数,你把电话留给店员就叫登记回调函数,店里后来有货了叫做触发了回调关联的事件,店员给你打电话叫做调用回调函数,你到店里去取货叫做响应回调事件。

说说自己的遇到的问题,最近做的是学校详情的一个页面,需要通过<select>来选择数据,再传递给后台,本来是一个简单的问题,通过 jq 的 change 事件,就能获得数据了。但是有点坑的就是,省份数据传输,在历届分数线的接口是以省份id的形式传参。而前端展现给用户的是省份名称,所以我在调用历届分数线接口的前,要先去调用省份接口,去获取省份id来作为历届分数的参数。

/*获得省份id并调用历届分数线接口*/
var getProvincesId = function (ass, callback) {$.ajax({url: pub+"getProvinces.jsonp?callback=?",data:{ver:"1.0",deviceNumber:"",jsessionid:"",channelId:"5",platformId:"0",data:""
},
dataType: "jsonp",
success: function(d) {if (d.success) {for(var i=0;i<d.data.length;i++){if(d.data[i].name==ass){add=d.data[i].id;callback(add);/*fun2(add);*/}}} else {$("#searchResult").html("出现错误:" + data.msg);}
},
});
};
/*调用历届分数线*/
var getScore = function (year,add,art) {$.ajax({url: pub+"school/readScore.jsonp?callback=?",data:{ver:"1.0",deviceNumber:"",jsessionid:"",channelId:"5",platformId:"0",data:"{schoolHashId:\""+schoolid+"\",year:\""+year+"\",provinceId:\""+add+"\",subjectTypeId:\""+art+"\"}"},
dataType: "jsonp",
success: function(d) {/*alert("历届分数");*/if (d.success) {$('#avgScore').html(d.data.avgScore);$('#minScore').html(d.data.minScore);$('#controlLine').html(d.data.controlLine);$('#batch').html(d.data.batch);} else {$("#searchResult").html("出现错误:" + data.msg);}
},
});
};

var year=$("#year").find("option:selected").text();
var art=$("#art").find("option:selected").text();
var addr=$("#addr").find("option:selected").text();getProvincesId(addr, function(id) {getScore(year,id,art === "文科" ? 1: 0); });$(".select").change(function(res){year=$("#year").find("option:selected").text();art=$("#art").find("option:selected").text();addr=$("#addr").find("option:selected").text();getProvincesId(addr, function(id) {getScore(year,id,art === "文科" ? 1: 0); });});

在这个案例中,执行函数返回的值,作为回调函数的的参数。

callback是什么鬼相关推荐

  1. [译] JavaScript:回调是什么鬼?

    本文讲的是[译] JavaScript:回调是什么鬼?, 原文地址:JavaScript: What the heck is a Callback? 原文作者:Brandon Morelli 译文出自 ...

  2. each(callback)与each(object[,callback])的区别

    each(callback)与each(object[,callback])的区别: 1. 调用对象不同,前者必须使用jQuery对象调用:后者只能使用$调用: 2. 遍历对象不同:前者遍历的是jQu ...

  3. dispatch callback ant design pro 网络请求回调函数

    index.jsx 代码解析:在组件初次渲染时调用 model 中 命名空间为  a_models  的 getData 网络请求,传了一个patload 参数和 callback 回调函数过去,然后 ...

  4. [译] Bob,函数式编程是什么鬼?

    原文地址:Intro to Swift Functional Programming with Bob 原文作者:Bob Lee 译文出自:掘金翻译计划 译者:Deepmissea 校对者:thank ...

  5. c++回调函数 callback

    (1)Callback方式 Callback的本质是设置一个函数指针进去,然后在需要需要触发某个事件时调用该方法, 比如Windows的窗口消息处理函数就是这种类型.比如下面的示例代码,我们在Down ...

  6. keras中的fit函数参数_keras的fit_generator与callback函数

    fit_generator函数 fit_generator函数 callback类 每一个epoch结束(on_epoch_end)时,都要调用callback函数,callback函数(类)都要集成 ...

  7. js callback回调的一种写法

    getLocation.cityname(latitude, longitude, function (data1) { SetCityCallBack(data1); }); 定义方法: var g ...

  8. Android Audio代码分析25 - JNI callback

    今天来说说 native 中的代码是如何调用 java 侧代码的. 在看 setEnabled 代码的时候,我们了解到,最终在函数 EffectHandle::setEnabled 中会调用 java ...

  9. java web自定义监听器_Android自定义监听器Listener(自定义Java Callback回调事件)

    Callback回调事件介绍 Java或Android中创建异步回调最普遍的做法就是使用listener监听器或者observer观察者模式来解决,listener回调事件通常用于实现一个代码去监听另 ...

最新文章

  1. 新年来临,给大家送上机器学习,人工智能相关书籍,这可能是中奖率最高的一次送书活动...
  2. cf relevent R package
  3. 【练习】c++单向链表求交集
  4. VTK:Qt之EventQtSlotConnect
  5. es搜索热度属性_是不是场吊打局?奥迪A6L对比雷克萨斯ES
  6. vscode python环境_在vscode中配置python环境
  7. 中国移动首款自主品牌5G手机上市:同步支持NSA/SA
  8. MariaDB ColumnStore一些限制和BUG总结
  9. 计算机网络教程网线制作,网线制作方法 图文解析教你学会制作网线【图文教程】...
  10. Geekban极客班 第二周
  11. matlab求解线性规划问题的实例代码,用matlab求解线性规划问题.doc
  12. Java实现 LeetCode 299 猜数字游戏
  13. 爬虫学习笔记(用python爬取东方财富网实验)
  14. 金华万豪、温州万豪、温州乐清万怡、哈尔滨城市中心万枫、九寨英迪格等酒店开业 | 全球旅报...
  15. Tomcat 安装与配置
  16. 学习c语言神经网络编程软件
  17. 巨人10Q4财报:营收3.6亿元环比增8.7%
  18. 快消品行业ERP系统仓储模块应该包括哪些功能?
  19. 卡西欧G-SHOCK系列电子表时间调节(电子+指针)
  20. 计算机学院吉林大学夏令营,2020年吉林大学计算机科学与技术学院夏令营接收推免生条件...

热门文章

  1. 20110510 Brew工程师培训笔记——第九章 IDisplay使用简介
  2. 新婚夫妇过年花掉四月工资 新娘赌气自杀
  3. centos7 升级内核
  4. 【吐血整理】java三元表达式比较三个数
  5. 2.1 安装Eclipse的中文语言包
  6. python抓包(sniff)-----实现wireshark抓包功能
  7. 第7-9节项目4-让吃货失望的菜单
  8. 网工神器皇冠店测试文档
  9. 关于VirtualBox虚拟机屏幕分辨率不能调整的解决方法
  10. 机器学习——科学数据包(九)注释、文字、Tex公式、工具栏、区域填充、形状、样式、极坐标