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都会执行。

 

 

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