【发布时间】:2017-12-20 13:24:24
【问题描述】:
我意识到这更像是一个一般性问题,但我已经阅读了此处的类似答案,但找不到更多概述。我是回调的新手,我正在尝试了解何时应该使用它们。
MDN 网络文档有这个例子;
function greeting(name) {
alert('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
callback(name);
}
processUserInput(greeting);
但是我很难看出这比下面的更有益,我没有将问候函数作为参数传递?
function greeting(name) {
alert('Hello ' + name);
}
function processUserInput() {
var name = prompt('Please enter your name.');
greeting(name);
}
processUserInput();
【问题讨论】:
-
更容易测试,更松散耦合,更接近单一职责原则的理想。
-
因为你也可以传入一个函数来做一些除了警告名字之外的事情,比如console.log这个名字例子
-
如果你想在知道他们的名字后提醒其他东西怎么办?
-
这个例子的重点是非常简单,这样你就可以看到它是如何工作的。它不应该是回调如何有用的示例。
-
@George,这不能在我的第二个示例中的 greeting(name) 之后以及在第一个示例中的 callback(name) 之后实现吗?我已经阅读了一篇包含一些复杂回调的长篇文章,但是我试图弄清楚它们通常应该在什么时候使用。感谢您的回复,我会仔细阅读您的所有观点。
标签: javascript callback