我们可以在jquery中这样做,但我从来不知道它在原生JS中是如何工作的。
function init(){
return $.ajax({
'type':POST,
'url':'example.com'
})
init.success(function(data){
data
});
我们如何在纯JS中编写回调?所以我可以这样使用它:
myFunction('myparam',function(){
return 'this is myFunction callback';
}
答案 0 :(得分:2)
在Javascript中,函数可以像其他参数一样传递给另一个函数。该函数可以在以后使用它,通过在需要时调用它。 这对于回调函数非常常见。
示例:
function checkName(name, callbackFn){
if(name == "Alice"){
callbackFn("Great Name!");
}
else {
callbackFn("Wrong name");
}
}
电话可以是:
checkName("Alice", function(message){
alert(message);
});
这种编程对异步任务(如Ajax调用)非常有用,因为处理函数可以在任务完成时调用回调函数。
使用回调函数是一种与函数式编程相关的方法,其中函数在更高级函数之间作为参数传递。在新JS规范(ES2015)中实现此目标的另一种方法是使用Promises,只有在任务完成时才能解析。