如何从angularJS get call中更快地检索数据

时间:2018-01-02 07:33:54

标签: angularjs angular1.6

我正在调用angularJS get调用并解析响应并在UI中显示响应,但我看到UI略有延迟,有没有办法可以解决这个问题:

以下是我的代码:

controller.js:


    function controller($scope, empDetails) {
        var empName;
        empDetails.getEmpDetails().then(function successCallback(response) {
            empName= response.data.name;
            if (empName) {
                $scope.name= empName;
            }
        });  

    angular.module('abc')
        .controller('controller', controller);
})();

service.js:

(function () {
    "use strict";
    var empDetails= function ($http) {
        var factory = {};
        factory.getEmpDetails = function () {
            return $http({
                method: 'GET',
                url: '/someurl'
            }).then(function (data) {
                return data;
            })
        }
        return factory;
    };
    empDetails.inject = ['$http'];
    angular.module('abc').service('empDetails', empDetails);
}())

感谢

1 个答案:

答案 0 :(得分:0)

显然,由于您正在调用API,因此需要花费一些时间在屏幕上加载数据。

但您可以通过

实现这一目标
  1. 解决您的路由。 //解析包含一个或多个必须在路由更改之前成功解析的promise。这意味着您可以在显示视图之前等待数据可用。
  2. 仅获取前端所需的字段。 //这将构成轻量级API。
  3. 以下是routeProvider/stateProvider中使用解决方案的链接:

    https://docs.angularjs.org/api/ngRoute/provider/$routeProvider https://odetocode.com/blogs/scott/archive/2014/05/20/using-resolve-in-angularjs-routes.aspx