为什么并行运行AJAX查询要比串行运行慢得多?

时间:2017-03-31 10:46:50

标签: javascript c# angularjs asp.net-mvc

我有一个页面,其中angular使用ng-init运行一些ajax调用来填充页面。该页面需要大约1秒加载,我发现这很奇怪,所以我做了一点挖掘。

这是原始代码(减去错误处理)

accountService.roles(null, function (response) {
    $scope.roles = response;
});
masterDataService.getallparties(null, function (response) {
    $scope.parties = response;
});
accountService.users($scope.searchFilter, function (response) {
    $scope.users = response;
});

现在我使用串行调用而不是并行重写:

accountService.roles(null, function (response) {
    $scope.roles = response;
    masterDataService.getallparties(null, function (response) {
        $scope.parties = response;
        accountService.users($scope.searchFilter, function (response) {
            $scope.users = response;
        });
    });
});

瞧,页面现在加载大约100毫秒。

这是预期的吗?我的服务器(IIS / MVC 4.6)上有什么问题吗?

编辑:添加截图 enter image description here enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

浏览器限制每个域的同时请求数。对于Internet Explorer,此值可在注册表中配置,默认设置为2.请参阅https://support.microsoft.com/en-us/help/282402/how-do-i-configure-internet-explorer-to-download-more-than-two-files-at-one-time