因此,当我的页面加载时,angular会调用一个服务来填充三个数组。此服务使用$ resource从后端获取数据(JSON)。问题是,当数据加载时,整个页面冻结一秒钟,而微调器是静态的。我的理解是$ resource和$ http都是异步的,页面在活动时不应该冻结。我尝试了this文章提出的承诺模式方法,但没有运气。有什么建议? 提前谢谢!
编辑添加了代码
mobiModule.factory('DataSrv', function($q, $http) {
return {
getData: function(url) {
var defered = $q.defer();
//make the call
$http.get(url).success(function(data){
console.dir(data);
defered.resolve(data);
}).error(function(){
console.log('HTTP error');
defered.reject();
});
return defered.promise;
}
}
});
$scope.phones = Phones.query(); //using $resource('phones.json')
或
$scope.phones = DataSrv.getData('phones.json'); //using the service defined above