什么是回调功能?

时间:2015-10-07 03:53:20

标签: javascript jquery ajax callback

我问一个朋友并问这个代码中的(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);

        }
        });

4 个答案:

答案 0 :(得分:2)

回调函数是您为现有函数/方法指定的函数,在操作完成时调用,需要额外处理等。

*这里有一些让你更好地理解回调的东西:

Guy 1 to Guy 2:嘿伙计我想在用户点击那里时做点什么,当发生这种情况时给我回电话好吗?

当用户点击此处时,Guy 2回拨了Guy 1。*

答案 1 :(得分:1)

回调函数是作为参数传递给另一个函数的函数,并且在另一个函数内调用(或执行)回调函数。 喜欢这个

(data, function(i,e)

我们可以像变量一样传递函数并将它们返回到函数中并在其他函数中使用它们。当我们将回调函数作为参数传递给另一个函数时,我们只传递函数定义。

请注意,回调函数不会立即执行。它在包含函数体内的某个指定点处“回调”。有关详细信息Refer Here

答案 2 :(得分:1)

回叫的回调方法。

谁回电话给你?

您的框架将其回拨。

为什么要回电话?

因为你想要回电话,因为你想要在事情发生时做一些处理。

<强>实施例

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

  2. 您想知道某个控件何时触发某个事件,以便您可以进行一些处理。您提供回调函数作为事件处理程序。

  3. 您对框架完成的默认处理感到不满意,并希望覆盖该处理,您提供回调,框架将其回调以使用您自己的处理。

  4. 因此,通常:您要求组件/框架调用您提供的方法。你永远不会从你的代码中调用那个提供的方法,而别人会把它叫回来。

答案 3 :(得分:0)

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

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

在当前效果结束后执行回调函数。

例如,这是一个回调函数:

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

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

另一方面,如果你不使用回叫功能这样说:

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

在这种情况下,即使在执行功能隐藏之前也会执行警报。这是Javascript中回调函数的典型用法。