各位小伙伴们好,今天给大家聊聊javascript中的回调。首先,回调函数有两种类型:1.同步回调函数(普通回调函数)2.异步回调函数其中,同步回调函数只有在回调函数执行完成后才能进行下一步操作,即也就是说,它是一个阻塞操作。话不多说,直接上栗子函数waitFive(callback){varcurrentDate=newDate();变量pus=0;while(pus<5000){vardate=newDate();pus=date-当前日期;}回调(“执行完成”);}waitFive(函数(味精){console.log(味精);});console.log("进行第二步;");**执行结果为:**执行完成,继续执行因为第二步操作是一个同步回调函数,所以需要等待waitFive函数执行完成后,再执行console.log("执行第二步手术;”);而异步回调函数则不需要等到回调函数执行完毕才可以进行下一步操作,也就是说是非阻塞操作。话不多说,直接上栗子functionwaitFive(callback){setTimeout(function(callback){callback("执行完成");},5000);}waitFive(函数(味精){console.log(味精);});console.log("执行第二步操作;");**执行结果为:**第二步执行完成,因为是异步回调函数,所以不需要等待waitFive函数完成。执行console.log("进行第二步;");
