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