纯JS中的函数回调

时间:2015-07-30 11:31:35

标签: javascript jquery

我们可以在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';
}

1 个答案:

答案 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,只有在任务完成时才能解析。