gpt4 book ai didi

javascript - Angularjs 中的服务成功响应后,将数据加载到 DOM 中的延迟太多

转载 作者:行者123 更新时间:2023-12-03 06:21:11 25 4
gpt4 key购买 nike

我尝试将非常大的数据集加载到 html 表中

  1. 点击按钮。

    <a ng-click="get_product()">load data</a>
  2. 按钮调用函数 get_product

    $scope.get_product = function () {
    // loader image shown
    var get_product = PAYMENTCOLL.getStatusBasedPaymentCollection(); //service call
    get_product.success(function (data)
    {
    $scope.pagedItems = data; //set data into array
    });
    //loader image hide
    };
  3. 使用ng-repeatpagedItems数组加载到html表格中。

情况1:

如果数据集较小,当数据完全加载到 DOM 中时,“加载器图像隐藏”。

情况2:

如果数据量很大,“加载器图像隐藏”,但数据仍在加载到 DOM 中(隐藏加载器后加载数据将多花 3-4 秒)。

目的:

我的目的是显示加载程序图像,直到所有数据成功加载到 DOM 中。将所有数据加载到 DOM 后,我想隐藏加载器图像。

如何解决案例 2 问题?提前致谢

最佳答案

您考虑过使用 Promise 吗?

使用$q promise这样您就可以在履行 promise 后设置 $scope.showLoaderImage

$scope.get_product = function () {
$scope.showLoaderImage = true;
PAYMENTCOLL.getStatusBasedPaymentCollection().then(function (e) {
$scope.showLoaderImage = false;
$scope.pagesItems = e.data.d;
}, function (err) {
//Handle Errors
})
};

为了反射(reflect) DOM 中 $scope.showLoaderImage 的状态,请使用 ngShow ,如下:

<div ng-show="showLoaderImage">
<!-- Image here -->
</div>

关于javascript - Angularjs 中的服务成功响应后,将数据加载到 DOM 中的延迟太多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38867003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com