我的角度应用程序中有一堆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();
});
}
任何指针都非常感谢!!
答案 0 :(得分:1)
Angular调用是异步的。您可以看到selfifnotnil
的{{1}} http backend factory
布尔值被硬编码为async
(此时第77行)。您的问题可能来自您自己的代码。
答案 1 :(得分:1)
请求是异步的,但我认为还有另一个问题。请记住,现代浏览器只能同时执行几个ajax请求(你可以拥有2. HTTP specification的一部分)。因此,如果您有许多ajax调用,浏览器可以对它们进行排队。