JavaScript 2.1 回調函數及自定義異步

1、回調函數

示例1:同步

function a(data,num) {
    console.log("excute a method");
    console.log(data + num);
}
  function b(aa,bb,cc) {
    console.log("excute b method");
    if(typeof cc === "function"){
    cc(aa, bb);
}
}
b(3,4,a);
console.log("end");

示例2:異步

async function a(data,num) {
    await console.log("excute a method");
    await console.log(data + num);
}
  function b(aa,bb,cc) {
    console.log("excute b method");
    if(typeof cc === "function"){
    cc(aa, bb);
}
}
b(3,4,a);
console.log("end");

2、執行結果

示例1

示例2

3、說明

①、回調函數是指把一個函數作爲另一個函數的參數進行傳遞,示例中a函數作爲b函數的參數cc進行了傳遞,且在b函數中對a函數進行了調用。

②await命令只能用在async函數之中,如果用在普通函數,就會報錯。

③async函數必須等到內部所有await命令後面代碼執行完成後,纔會執行。

④如果我們希望即使前一個異步操作失敗,也不要中斷後面的異步操作。這時可以將第一個await放在try...catch結構裏面,這樣不管這個異步操作是否成功,第二個await都會執行。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章