在Angular中进行异步ajax调用

时间:2015-12-09 10:51:58

标签: javascript jquery angularjs ajax

我的角度应用程序中有一堆ajax调用。

Double maxRandL = Collections.max(randL);

我使用Angular的大多数其他ajax调用具有相同的语法。我注意到我的呼叫都是同步进行的。如果我有5次调用服务器,则每次调用仅在另一次返回后执行。这不是我需要的。如何同步拨打这些电话。我读了关于$ q和承诺,但我无法理解它们。我跟随,但它没有帮助:

$scope.playerData = function(param) {           
        showLoader();
        $http({
            method:"POST",
            url:"slim.php/playerData",
            data: {'playerId': param},
        }).then(function(response) {
            ajaxCallDone();                 
        },function(response){
            handleError();
        });
    }   

任何指针都非常感谢!!

2 个答案:

答案 0 :(得分:1)

Angular调用是异步的。您可以看到selfifnotnil的{​​{1}} http backend factory布尔值被硬编码为async(此时第77行)。您的问题可能来自您自己的代码。

答案 1 :(得分:1)

请求是异步的,但我认为还有另一个问题。请记住,现代浏览器只能同时执行几个ajax请求(你可以拥有2. HTTP specification的一部分)。因此,如果您有许多ajax调用,浏览器可以对它们进行排队。