我正在调用angularJS获取调用并解析响应并在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);
}())
谢谢
显然,在屏幕上加载数据需要一些时间,因为您正在调用 API。
但你可以通过以下方式实现这一目标,
解析路由。解析- 包含一个或多个承诺,这些承诺必须在路由更改之前成功解析。这意味着您可以等待数据可用后再显示视图。
- 只获取前端必需的那些字段。
以下是在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