callback

callback function

回调函数

被作为实参传入另一函数,并在该外部函数内被调用,用以来完成某些任务的函数,称为回调函数。

例如:

function greeting(name) {
  alert('Hello ' + name);
}

function processUserInput(callback) {
  var name = prompt('请输入你的名字。');
  callback(name);
}

processUserInput(greeting);

以上范例为 同步 回调,它是立即执行的。

然而需要注意的是,回调函数经常被用于继续执行一个异步 完成后的操作,它们被称为异步回调。例如,这个简单 的 maps-example.html 例子(live 链接点此)使用了 Google Maps 以及 Geolocation 的 API 来展示您设备的当前位置。

由于从 GPS 得到设备坐标信息的操作为异步的(我们不知道何时数据会被返回),所以 Geolocation.getCurrentPosition() 方法接收一个匿名回调函数作为形参,而该回调函数则接收传回的坐标数据作为形参。该函数只在坐标数据返回后才执行。

原文地址:https://www.cnblogs.com/jsunny/p/10046724.html