回调函数,用我的理解来说,就是函数与函数之间的桥梁,在一个函数执行之后将执行结果作为参数传给另外一个函数,这就是我自己理解的函数。
下面简单举一个例子
var lytChat ={
searchState:function(cuId,callback){
var
url=lytConfig.lytDataUrl+′/core/topicN.findSessionTopicPhrases.do′;varlytCmpcd=lytConfig.lytCmpcd;var
data = {cmpcd:lytCmpcd,languageId:lytConfig.lytLangId};
lytChatList.lytConneServer(
url,
data,function (res){
if(res !=null){
var data = res.data;
var num = “”;
if(data && res.errorCode == 0){
var topicList = data.topicList;
var visitorInfo = data.visitorInfo;
var serviceNum = data.serviceDatas;
console.log(res);
for(var i=0;i < topicList.length;i++){
if(topicList[i].topicId == cuId){
callback(topicList[i].serviceData);
break;
}
}
}
}
});
}
}
(‘#lytMin’).on(“click”,”#lytChatAsk”,function(){
varthat =
(this);console.log(
that)
var isCollectInfo = lytChatCom.collectInfoAsk();
if(isCollectInfo){
var cuId = (“#lytThemeSelected”).attr(“data-id”);
lytChat.searchState(cuId,function(state){
console.log(state)
if(state == 0){//客服不在线,弹出是否去留言的弹窗(‘.lyt_theme_con’).addClass(“lyt_hide”);
(‘.lyt_off_line_con,.lyt_mask’).removeClass(“lyt_hide”);
}else{//客服在线(“.lyt_theme_con,.lyt_mask”).addClass(“lyt_hide”);
ChatUtils.chatForService();
}
})
}
});
这就是一个回调的例子,第一个是一个封装的接口,需要2个参数,一个cuId,callback,在第二个中调用searchState,并且将第一个函数执行的结果state作为参数,放在函数里面。其实就这么简单