创建一个调用'回调函数'的函数

时间:2015-02-11 17:14:22

标签: javascript function callback

我正在尝试使用参数echocallback创建一个函数value,该函数以callback为参数调用回调函数value

是否有人能够简要解释回调函数?它几乎是一个嵌套函数吗?

到目前为止我有这个:

function echo(value, callback) {
    return callback(value);
}

module.exports.echo = echo;

2 个答案:

答案 0 :(得分:1)

回调只是一个碰巧存在“可调用”的变量。没有比这更神奇了。

var myfunc = function() {
  alert("I was called");
}
var foo = myfunc;

foo();

上面的代码段显示函数是数据或数据可以是可调用函数。正如数据可以是字符串或可打印为字符串一样。

在JS和许多其他高级动态语言中,函数和其他数据之间的区别仅仅是它可以被调用。它可以作为参数分配,存储,成为成员,返回并传入。在较低级别的语言中,您存储的是指向PC的指针以跳转到(函数指针)。

另一种看待它的方法是作为占位符 - 用于当其他代码达到特定状态时可以调用的函数。我说可能是 - 其他代码可能无法达到该状态,因为它是有条件的 - 例如错误回调。

答案 1 :(得分:0)

回调函数是在函数完成时使用的,并且您希望将结果返回给另一个函数。

这经常用于异步代码:
通常你会调用一个函数,等待它完成,函数返回一个值,但是对于异步进程,这将不起作用。所以你需要一个回调。调用异步函数时,脚本将在主线程继续时在后台执行此操作。因此,您无法以正常方式返回值,因为同步函数将暂停主线程直到完成。异步函数完成后,将使用回调来处理结果。