回调函数是指通过函数参数的方式将一个函数传递到另一个函数中,参数函数就是回调函数。
function A() {
console.log(“A is running”)
}
function B(callback) {
console.log(“B Start”)
callback() // A is running
console.log(“B End”)
}
B(A)
我们经常将回调函数写成 callback,实际上它是 call then back 的简写,含义是调用后返回,就是在主函数中调用参数函数,参数函数调用完成后返回,主函数继续执行主函数中的代码。
为什么在 B 函数中不直接调用 A 函数而要通过参数的方式传递进去 ?
通常在编写应用程序时,B 函数都是语言内部或者其他开发者定义好的,我们看不到内部代码或者说不能直接在他内部代码中插入我们的代码,而我们又想介入程序的执行,此时就可以通过回调函数的方式将我们的逻辑传递给 B 函数,B 函数在内部再来调用这个回调函数。
回调函数传递参数
在主函数中调用回调函数时,可以为回调函数传递参数。
function A(arg) {
console.log(“A is running”)
console.log(arg)
}
function B(callback) {
console.log(“B Start”)
callback(“我是B函数传递给A函数的参数“) // A is running
console.log(“B End”)
}
B(A)