Making a function that calls a 'callback function'
我试图创建一个参数为callback和value的函数echo,它调用回调函数callback,参数为value。
有人能简要解释回调函数吗?它几乎是一个嵌套函数吗?
到目前为止,我有:
1 2 3 4 5
| function echo(value, callback) {
return callback(value);
}
module.exports.echo = echo; |
- 在JavaScript函数是对象。他们可以在任何其他passed类。
- 如果你有它确切的说因为是工作,什么是问题?
- 我也stackoverflow.com /问题/欧洲/ 3523628 & hellip;
- 它不工作。我的意思是说用CMD JS在线工作
- 在回调函数是简单的,在另一个功能是提供to that should be called the other has function when completed。usually the result of the operation is to the passed回调。generally callbacks are to execute函数提供,在不同的线程中,which other to You Will连续尾均值execute。队列that was when the executing finishes度过了回调回调,那么它将invoke to the NOTIFY你的JavaScript代码。
- 你可以在node.js for example(Do this:filesystem.readfile。/ file.txt,function(ERR,text){ if(ERR){//哦!console.log } else {(this text:二是印制,););} }(这将是console.log打印第一!)在that the filesystem.readfile队列;队列在线程和executes of the盎司完整的JavaScript回调你invoke the恩将NOTIFY线程你的JavaScript。棺材在心灵this is a超级internals somewhat over the example和跳过。
- 我厂jsfiddle.net / k0q6gh2v:for
- is not做什么和什么你期望?如果你呼叫的回声与布尔值的回调,回调,那么北恩喜欢will be called with the value。我厂。
回调只是一个恰好包含"可调用"内容的变量。再没有比这更神奇的了。
1 2 3 4 5 6
| var myfunc = function() {
alert("I was called");
}
var foo = myfunc;
foo(); |
上面的代码片段显示函数是数据,或者数据可以是可调用函数。就像数据可以是一个字符串,也可以作为一个字符串打印。
在JS和许多其他高级动态语言中,函数和其他数据之间的区别仅仅在于可以调用它。它可以作为参数分配、存储、成为成员、返回和传入。在低级语言中,您正在存储一个指针,供PC跳转到(函数指针)。
另一种看它的方法是作为一个位置保持器-对于一个函数,当其他代码到达一个特定的状态时可以调用它。我说可能是-其他代码可能不会达到该状态,因为它是有条件的-例如错误回调。
- "恰好保存可调用内容的变量"只是一个函数。还有其他一些东西使函数参数成为回调
- 您的示例如何使用我的代码
- @Bergi——唯一使它成为回调的东西是,您的代码可能在稍后被您传递给它的代码调用——一个事件、一个反应器/循环、一个函数结构。除此之外没有什么特别的。这里最重要的是,op会要求"生成一个调用回调的函数"——它真正需要的只是一个可调用的参数,或者包含一个对象,该对象有一个可调用的成员。不需要任何其他"特殊处理"。
- @DanielWhite代码向您展示了如何创建一个函数,该函数接受一个回调并使用值来调用它,该函数在运行时将调用回调。您的意思是委托-您是否试图创建一个绑定函数来在回调中使用?绑定到值?
回调函数是在函数完成并希望将结果返回到另一个函数时使用的函数。
这通常用于异步代码:
通常,您会调用一个函数,等待它完成,然后函数返回一个值,但是对于异步进程,这将不起作用。所以你需要回电话。当调用异步函数时,脚本将在后台执行此操作,而主线程将继续运行。所以不能以正常方式返回值,因为同步函数将停止主线程,直到完成为止。异步函数完成后,将使用回调来处理结果。
- 不严格"竣工时"。您可以用一系列回调设置一个对象,并传递到一个框架或在不同阶段调用不同回调的东西中。也许更好的说法是"当代码达到某个特定的状态,并且您希望向另一个函数发送信号时使用的某个东西"——它为其他代码提供了向代码中添加"钩子"以附加处理状态的能力。