A callback is a function that is passed as an argument to another function and is executed after its parent function has completed.
简洁明了的定义,为了更好的理解,下面来举几个例子:
fs.readFile('input.txt', function (err, data) { if (err) return console.error(err); console.log(data.toString());});
这是runoob网站上的例子,这里使用了一个readFile函数,并将一个匿名函数作为第二个参数传入。实际工作时,此匿名函数的执行时间及传入参数由readfile函数定义
下面以一个自定义的支持callback的函数来说明函数
function fun1(parm1,parm2,callback){
resultadd = parm1 + parm2;
callback(resultadd);
mean = resultadd/2;
console.log(’主函数‘,mean);
}
这个函数会对传入的两个参数求平均数,如果在调用此函数时使用callback函数,那么callback函数会在求出两数之和时调用并以和为传入参数
fun1(3,7,function(parm){console.log('回调函数',parm)})
可以看出回调函数一般都是在调用主函数时决定