回调可以是同步的也可以是异步的。
同步回调:把函数b传给函数a。执行a的时候,回调了b,a要一直等到b执行完才能继续执行。
异步回调:把函数b传给函数a。执行a的时候,回调了b,然后a继续往后执行,b独自执行。
具体例子如下:
/*同步回调*/
function a(callback){
console.log('开始执行函数a');
console.log('开始执行回调b');
callback();
console.log('回调b结束');
console.log('a函数调用结束');
};
function b(){
console.log('函数b开始执行');
console.log('函数b结束');
};
a(b);
运行结果:
从运行结果来看,
/*异步回调*/
function a(callback){
console.log('开始执行函数a');
console.log('开始执行回调函数b');
setTimeout(callback,0);//异步函数
console.log('回调b结束');
console.log('a函数调用结束');
};
function b(){
console.log('函数b开始执行');
console.log('函数b结束');
};
a(b);