【发布时间】:2016-08-05 02:36:51
【问题描述】:
我遇到了一个问题 Angular $http 承诺。 似乎 $http 承诺会导致带有此错误消息的无限循环。错误:达到 10 次 $digest() 迭代。中止!
我想听听一些建议。
仅供参考, 最终,Collection 从 API 获取数据并创建 userModel 并将 UserModel 发送到 Controller。
我想创建功能来组织模型,例如在 Ruby on Rails 中的 ActiveRecord::Collection
感谢您的阅读
//*********************************
// Service from where $http is called
//**********************************
angular.module('dashboardApp').service('UserCollection', ['$http', '$q', function($http, $q){
function all(){
var deferred = $q.defer();
function successRequest(data) {
deferred.resolve(data.data);
};
function failRequest() {
deferred.reject([]);
};
$http({
method: 'GET',
url: 'http://localhost:3000/api/users'
}).then(successRequest, failRequest);
return deferred.promise;
}
return {
all: all
};
}]);
// ************************
// Contoller
// ************************
angular.module('dashboardApp')
.controller('UserCtrl',['UserCollection', '$q', function(UserCollection, $q) {
console.log("Inside User Controller");
var user = this;
var deferred = $q.defer();
function successRequest(data){
var array = deferred.resolve(data.data);
return array;
}
function failRequest(){
deferred.reject([]);
}
user.index = function(){
UserCollection.all().then(successRequest, failRequest);
};
}]);
//**************
// View
//**************
<div ng-repeat="u in user.index()">
</div>
【问题讨论】:
标签: angularjs