JavaScript回調(diào)函數(shù)callback用法解析
這篇文章主要介紹了JavaScript回調(diào)函數(shù)callback用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
JavaScript回調(diào)函數(shù)的使用是很常見的,引用官方回調(diào)函數(shù)的定義:
A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
解釋得很明確,回調(diào)函數(shù)就是作為參數(shù)傳遞給另一個(gè)函數(shù)并在其父函數(shù)完成后執(zhí)行的函數(shù)。
聽起來似乎有點(diǎn)不好理解,所以還是舉例進(jìn)行說明,介紹回調(diào)函數(shù)之前先簡(jiǎn)單說明一下同步和異步,前端也有同步和異步。同步和異步總得來說,兩者最明顯的區(qū)別就是是否需要等待,如果是串行執(zhí)行的就是同步機(jī)制,是并行執(zhí)行的就是異步機(jī)制,這個(gè)比較好理解
回調(diào)函數(shù)的使用并沒有同步和異步的區(qū)別,回調(diào)函數(shù)只是一種特殊的函數(shù),可以應(yīng)用于同步調(diào)用場(chǎng)景,也可以應(yīng)用于異步調(diào)用場(chǎng)景
異步請(qǐng)求中的回調(diào)函數(shù)
最常用的有ajax異步調(diào)用或者事件機(jī)制,例子:
$.get('${root}/saveOrUpdate.do',function(result){ alert(result); });
同步請(qǐng)求中的回調(diào)函數(shù)
業(yè)務(wù)場(chǎng)景:舉個(gè)例子,點(diǎn)擊按鈕會(huì)觸發(fā)main函數(shù),進(jìn)行接口數(shù)據(jù)保存(異步方式),數(shù)據(jù)保存成功之后,再回調(diào)打開彈窗的函數(shù)
保存數(shù)據(jù)函數(shù):
function saveRecord(seq,callback){ $.ajax({ url:'${root}/saveOrUpdate.do', type:"post", async:true, success:function(result){ //確保callback是一個(gè)函數(shù)類型的 if(typeof(callback)==='function'){ callback(true); } } }); }
main函數(shù)
//保存成功,才會(huì)打開彈窗 function main(seq){ saveRecord(seq,callbackFunction); }
回調(diào)函數(shù),數(shù)據(jù)保存成功后再調(diào)用
/*保存時(shí)的回調(diào)函數(shù)*/ function callbackFunction(saveSuccess){ if(saveSuccess){ //省略打開彈窗代碼 } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript加載xml 并解析各節(jié)點(diǎn)的值(實(shí)現(xiàn)方法)
下面小編就為大家?guī)硪黄猨avascript加載xml 并解析各節(jié)點(diǎn)的值(實(shí)現(xiàn)方法)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10Js md5加密網(wǎng)頁版MD5轉(zhuǎn)換代碼
Js實(shí)現(xiàn)網(wǎng)頁上的MD5加密功能,將文字轉(zhuǎn)換為MD5字符,本代碼調(diào)用簡(jiǎn)單,你可以新建一個(gè)網(wǎng)頁,將此網(wǎng)頁上傳到你的服務(wù)器上,用戶瀏覽網(wǎng)頁,就可實(shí)現(xiàn)MD5加密轉(zhuǎn)換功能,用戶可方便查詢?nèi)我蛔址腗D5碼,很不錯(cuò)的功能2013-03-03javascript下拉框選項(xiàng)單擊事件的例子分享
這篇文章主要分享了一些javascript下拉框選項(xiàng)單擊事件的例子,以及在例子中遇到的問題的解決方法,十分實(shí)用,推薦給小伙伴們參考下。2015-03-03JavaScript控制網(wǎng)頁層收起和展開效果的方法
這篇文章主要介紹了JavaScript控制網(wǎng)頁層收起和展開效果的方法,涉及javascript操作網(wǎng)頁元素動(dòng)態(tài)效果的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04使用postMesssage()實(shí)現(xiàn)跨域iframe頁面間的信息傳遞方法
下面小編就為大家?guī)硪黄褂胮ostMesssage()實(shí)現(xiàn)跨域iframe頁面間的信息傳遞方法。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家一個(gè)參考。一起跟隨小編過來看看吧2016-03-03