一个回调函数是这样的一个函数:
- 被当做另一个函数的一个参数,并且,
- 在某种事件(event)之后,被调用。
一旦它的父函数完成,这个函数就被当做一个参数被调用。
伪代码:
// The callback method
// 回调方法
function meaningOfLife() {
log("The meaning of life is: 42");
}
// A method which accepts a callback method as an argument
// 一个(接受一个回调方法作为一个参数的)方法,
// takes a function reference to be executed when printANumber completes
// 当printANumber完成时,获取一个要被执行的函数引用。
function printANumber(int number, function callbackFunction) {
print("The number you provided is: " + number);
}
// Driver method
// 驱动方法
function event() {
printANumber(6, meaningOfLife);
}
如果你调用event(),结果如下:
The number you provided is: 6
The meaning of life is: 42
被称为回调(callbacks),是因为回调在指针语言中的用法。如果你不使用这些其中的一个,不要费劲地使用名字“callback”。只需要理解,回调(callback)只是一个描述一个方法的名字,这个方法被提供作为另一个方法的一个参数,如此以致当父方法被调用(任何情况,例如一个按钮点击,一个定时器滴答等等)和父方法的方法体完成时,这个回调方法然后会被调用,或者,换句话说,在另一个函数的“背后被调用”。
原文链接:
1.https://stackoverflow.com/questions/824234/what-is-a-callback-function?answertab=votes#tab-top