我有一个问题,其中一家公司有如此多的数据,这些数据使得加载这么长时间才会显示在我的AngularJs项目中。有时,当切断连接类型或请求超时时,它不会出现。那时,我的客户端显示一些消息并再次重新运行该功能以重新加载数据。后端正在使用NodeJS。
请帮我完整填写客户的要求。
这是我从后端获取数据的代码。
$scope.tableParams = new ngTableParams({
page: 1, // show first page
count: 20, // count per page
sorting: {
title: 'asc' // initial sorting
},
filter: {
title: filterText,
is_active: $scope.IsActive
}
}, {
total: 0,
getData: function ($defer, params) {
companyService.getDataBelongToCompany($scope.companyId, params.url()).then(function (data) {
params.total(data.total);
$defer.resolve(data.jobs);
$scope.collapsed = false;
}, function () {
$defer.resolve([]);
});
}
});
答案 0 :(得分:1)
我认为您需要的是使用服务器端分页。如果响应时间过长,您应该限制后端发送的数据并对其进行分页,因为它会影响用户体验。
在这里,您可以找到有关如何使用ngTable进行分页的更多信息:
答案 1 :(得分:0)
一种方法是在 http 请求中添加超时,如下所示
$http.get('url', {timeout: 5000});
如果它需要超过5秒,你可以在.error()函数
查看此答案以获取更多详细信息 How to set a global http timeout in AngularJs