2015-10-07 86 views
-2

我问一个朋友,问这个代码中(data, function(i,e)是什么,他说这是回调,然后我搜索有关回调的互联网,并不理解它。我读了这个What are callback methods?什么是最简单的回调?什么是回调函数?

$.each(data, function(i,e){ 
    console.log(e.id); 
}); 

(data, function(i,e)这里有什么用?

$.ajax({ 
     type: "GET", 
     url: pbxApi+"/confbridge_participants/conference_participants.json?cid="+circle, 
     dataType: "jsonp", 
     jsonpCallback: 'callback', 
     contentType: "application/javascript", 
     success: function(data) { 

     console.log(data); 

     } 
     }); 
+0

https://api.jquery.com/each/ – shafeen

回答

1

回调方法是回叫

谁给你回电话?

你的框架回调它。

为什么它回拨?

因为你要求它回叫,因为你想在事情发生时做一些处理。

例子

  1. 你正在做一些处理,它完成时不知道。你提供了一个回调,并继续进行其他一些工作。您的回拨功能将被回叫,告诉您处理已完成,您现在可以在您的最后完成一些操作。

  2. 你想知道什么时候某个控件触发了一些事件,以便你可以做一些处理。您提供了一个回调函数作为事件处理程序。

  3. 你不快乐与框架进行默认处理,并希望覆盖处理,给您提供一个回调和框架调用回用自己的处理。

所以,一般情况下:您要求组件/框架调用您提供的方法。你永远不会从你的代码中调用这个提供的方法,而是别人把它叫回来。

1

的回调函数是传递到另一个函数作为参数的函数,并且回调函数被调用(或执行)的另一功能的内部。 像这样

(data, function(i,e) 

我们可以通过周围的功能,如变量和函数返回他们和其他功能的使用。当我们将回调函数作为参数传递给另一个函数时,我们只传递函数定义。

请注意,回调函数不会立即执行。它在包含函数体内的某个指定点处被“回调”。欲了解更多信息Refer Here

0

正常情况下,JavaScript语句是逐行执行的。但是,通过特效,即使效果未完成,也可以运行下一行代码。这可能会产生错误。

为了防止这种情况,你可以创建一个回调函数。

回调函数在当前效果完成后执行。

对于e.g,这是一个回调函数:

$("button").click(function(){ 
    $("p").hide("slow", function(){ 
     alert("The paragraph is now hidden"); 
    }); 
}); 

在这种情况下,函数将隐藏该警报而这正是我们想要的东西之前执行。

在另一方面,如果你不使用回拨功能说是这样的:

$("button").click(function(){ 
    $("p").hide(1000); 
    alert("The paragraph is now hidden"); 
}); 

在这种情况下,警报执行函数隐藏甚至之前将被执行。这是Javascript中回调函数的典型用法。

2

回调函数是你指定一个现有的函数/方法的功能,当完成一个动作被调用,需要额外的处理等

*这里有一个小东西给你了解回调更好:

家伙1对家伙2:嘿家伙我想做一些事情,当用户点击在那里,当这种情况发生时给我回电好吗?

Guy 2在用户点击此处时回拨Guy 1 *

相关问题