欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript回調(diào)函數(shù)callback用法解析

 更新時(shí)間:2020年01月14日 10:40:32   作者:smileNicky  
這篇文章主要介紹了JavaScript回調(diào)函數(shù)callback用法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

這篇文章主要介紹了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)文章

最新評(píng)論