pad*_*lds 4 javascript callback
我意识到这更像是一个普遍问题,但我已经阅读了这里的类似答案,但我找不到更多概述。我是回调的新手,我试图了解何时应该使用它们。
MDN 网络文档有这个例子;
function greeting(name) {
alert('Hello ' + name);
}
function processUserInput(callback) {
var name = prompt('Please enter your name.');
callback(name);
}
processUserInput(greeting);
Run Code Online (Sandbox Code Playgroud)
然而,我很难看出这比下面的更有利,我没有将问候函数作为参数传递?
function greeting(name) {
alert('Hello ' + name);
}
function processUserInput() {
var name = prompt('Please enter your name.');
greeting(name);
}
processUserInput();
Run Code Online (Sandbox Code Playgroud)
由于 Javascript 是异步的,有时很难处理来自非阻塞函数的响应,例如。如果您正在进行ajax调用,那么它将异步执行,并且稍后将返回结果,那时主执行流程将传递ajax代码并开始执行以下语句,在这种情况下,很难捕获响应进一步处理。
为了处理这些情况,需要使用回调,将函数作为参数传递给 ajax 函数,返回响应后,通过将响应数据作为参数传递来调用回调以进行进一步处理。
更多信息请点击这里http://callbackhell.com/